Notes on Software Development Platform and Modernisation

Views:
 
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Notes on Software Development, Platform and Modernisation :

Notes on Software Development, Platform and Modernisation Alan McSweeney

Objectives:

January 10, 2011 2 Objectives Provide information on the advantages and disadvantages of .NET and Java development and operational platforms Provide information on approaches to software development Provide information on approaches to refresh of existing software Focus on banking systems and IBM platforms

Agenda:

January 10, 2011 3 Agenda Context of application development Comparison of .Net and Java Application design and delivery landscape Software modernisation

View of Application Development and Deployment:

January 10, 2011 4 View of Application Development and Deployment Decision is wider than just selecting a development platform Need to take account of other factors: Application lifecycle – from application design, development, testing, deployment and operation Refresh/modernisation of existing applications Other initiatives such as SOA Existing application development and deployment standards and approaches Consider an integrated approach to application development and deployment

High Level View of Application and System Landscape:

January 10, 2011 5 High Level View of Application and System Landscape IT Assets Accountability Reduce Cost New Channels Visibility New Services Customer Service Shareholder Value Governance Business Drivers Business Requirements Better Information insight Support Business Requirements Faster Efficient Delivery Of New Services Automation of Existing Processes Reusable, Standard Services Standard Integration of Services Business Processes Services Services Services Services Business Service Business Service Business Service Business Service Services Business Service Business Units Legacy Systems Web Sites Databases Core Applications

View of Long-Term Application Landscape:

January 10, 2011 6 View of Long-Term Application Landscape IT Assets Reusable, Standard Services Standard Integration of Services Business Processes Services Services Services Services Business Service Business Service Business Service Business Service Services Business Service Service Oriented Architecture IT Assets Business Units Legacy Systems Web Sites Databases Core Applications Business Requirements Better Information insight Support Business Requirements Faster Efficient Delivery Of New Services Automation of Existing Processes Business Process Management Accountability Reduce Cost New Channels Visibility New Services Customer Service Shareholder Value Governance Business Drivers Business Process Improvement

Java and .NET Comparison Notes:

January 10, 2011 7 Java and .NET Comparison Notes

Java and .NET Comparison Notes:

January 10, 2011 8 Java and .NET Comparison Notes Both multi-tiered, similar computing technologies Both support “standards” Both offer different tools and ways to achieve the same goal A lot of parallelism can be seen Very difficult to compare and qualify the comparison because each has its own advantages and disadvantages No right answer Depends on business and organisation context

J2EE Application Architecture:

January 10, 2011 9 J2EE Application Architecture

.NET Application Architecture:

January 10, 2011 10 .NET Application Architecture

Overview of J2EE and .NET:

January 10, 2011 11 Overview of J2EE and .NET FEATURE J2EE .NET Type of Technology Standard Product Middleware Vendors Oracle, IBM, Oracle, Apache and many others Microsoft Web Pages and HTML JSPs ASP.NET Middle-Tier Components EJBs .Net Managed Components Database Connectivity JDBC ADO.NET Execution Engine JVM (Java Virtual Machine) CLR (Common Language Runtime) Portability Variety of Operating systems Windows Interpreter JRE CLR Language support JAVA Multiple Languages Tools support Rational, Eclipse, JBuilder etc. Visual Studio.Net

Detail of J2EE and .NET:

January 10, 2011 12 Detail of J2EE and .NET FEATURE J2EE .NET HTML generation JSPs and Servlets ASP.NET under Internet Information Server (IIS) Transactions Manual transaction management or automated through containers Manual transaction management or automated through CLR Calling Remote Objects JNDI finds server-side components such as EJBs or JMS queues .Net remoting allows calls to remote objects distributed across application domains, processes, and machine boundaries Data Access Two main types of entity beans are used to model persistent data which are container-managed and bean-managed A variety of data sources can be accessed by developers through .Net's ADO.Net classes Database Connectivity JDBC ADO.NET Execution Engine Java source code compiles into machine-independent byte code, which the JVM interprets at runtime The CLR environment executes .Net's Microsoft Intermediate Language code Portability J2EE offers complete cross-platform portability .Net only supports the Windows platform Language support Only Java is supported It is language independent and can use any language once a mapping exists from that language to IL Tools support Java features a wide variety of tools – Rational, Eclipse, JBuilder, JDeveloper etc Visual Studio .Net, the single IDE for building .Net windows, web applications, or XML Web services

Generic Framework for Web Applications:

January 10, 2011 13 Generic Framework for Web Applications Workflow Engine Web-based and -related Protocols (HTTP, SMTP, ...) Service Description, Discovery, Integration (UDDI) Service Description (WSDL) Service Context (Who, Where, When, Why, ....) Virtual Machine Micro/Macro Services Integration Layer Legacy Backend Server Mainframe Frontend Layer (Web Server) Web Service User/Provider Core Services (Calendar, Preferences, Transactions, ...) Core Elements of Web Application Framework Clients

.Net Implementation of Framework:

January 10, 2011 14 .Net Implementation of Framework .NET Devices .NET Servers SQL Server, Biztalk, Commerce, Exchange, Mobile Information, Host Integration, Application Center .NET Foundation Services Passport, Calendar, Directory & Search, Notification & Messaging, Personalization, Web-Store/XML, Dynamic Delivery of Software and Services Common Language Runtime (Memory Management, Common Type System, Lifecycle Monitor) .NET Framework & Tools Base Classes (ADO.NET, XML, Threading, IO, ....) ASP.NET (Web Services, Web Forms, ASP.NET Application Services) Windows Forms (Controls, Drawing, Windows Application Services)

Java Implementation of Framework:

January 10, 2011 15 Java Implementation of Framework Service Interface Service Container (J2EE, EJB, JSP, J2SE, J2ME, MIDP, Java Card) Process Management Service Integration (SQL, JDBC, XML, XSLT, XP, JMS, RMI, J2EE Connectors, ...) Service Platform Smart Management (SNMP, CIM, WBEM, JMX) Smart Delivery (XML, HTML, XHTML, WML, VoiceXML, XSLT, HTTP, SSL, XP, SOAP, WSDL, UDDI, ebXML, ...) Web Services Smart Process (ebXML, XAML) Smart Policy (LDAP, Kerberos, PKI, OASIS Security)) Service Creation and Assembly (JB, JSP, EJB)

.NET And/Or Java:

January 10, 2011 16 .NET And/Or Java Not just one or the other – can use a mixed application environment Pure Windows applications are probably better done with .NET than Java Java should be used when platform (or vendor-) independence is necessary/desirable Java is more mature There is Java for .NET via IBM Rational Both can be used for web services - .NET is “easier” but J2EE is more scalable Other practical factors must be taken into consideration

Sample Scoring:

January 10, 2011 17 Sample Scoring Criteria J2EE .NET Comments Ease Of Use (Development Environment) ** **** VB.net and C# are easier to use than J2EE Scalability *** ** Execute Java Code on Mainframe Single Language Multiple Platforms **** * Java Can run on many platforms through the JVM Multiple Languages Single Platform * **** VB,C#,J# all run in the same run-time environment Reliability ** **** VB/Com development since 1993 Performance **** *** Java more scalable for very large systems Speed of development ** *** VB code easier to learn Reuse **** ** Deploy same code on multiple platforms and multiple projects Open Standards ***** * Java, JVM are open standards

Java Development Options Comparison:

January 10, 2011 18 Java Development Options Comparison

Application Design and Delivery Landscape Notes:

January 10, 2011 19 Application Design and Delivery Landscape Notes

Application Design and Delivery Landscape:

January 10, 2011 20 Application Design and Delivery Landscape Bigger picture – put application development in context Look at bigger picture Management framework Process and portfolio management Change and release management Requirements management Quality management Analysis, design and develop Deployment and operation

Process and Portfolio Management – IBM:

January 10, 2011 21 Process and Portfolio Management – IBM Create, customise and deploy an SOA Governance Process using IBM Rational Method Composer Use IBM Rational Portfolio Manager to identify and manage your software development projects and resources, assess cost and ROI, and comply with your SOA Governance policies

Change and Release Management - IBM:

January 10, 2011 22 Change and Release Management - IBM Use IBM Rational ClearCase for full lifecycle management, and version control of development artifacts Use IBM Rational ClearQuest for geographically distributed activities, changes and defect management Use IBM Rational BuildForge to achieve a repeatable, automated build process to accelerate software delivery Use IBM Rational Asset Manager to define, create, group, store, search, retrieve, measure and govern the re-use of development assets

Requirements and Quality Management:

January 10, 2011 23 Requirements and Quality Management Use IBM Rational ClearQuest and Rational Functional Tester for integrated test, activity and quality management Use Rational RequisitePro to ensure business needs drive IT investment and validate that the deployed solutions meet quality measures, managing requirements throughout the development lifecycle Use IBM Rational Performance Tester to perform performance and load testing with local/remote execution and monitoring

Analysis, Design and Construction:

January 10, 2011 24 Analysis, Design and Construction Use WebSphere Business Modeler and Integration Developer to model business processes, simulate / socialise business cases and make human / automated workflows executable. Use IBM Rational Software Architect to understand your existing architecture and drive its evolution, using analysis, modeling and transformation capabilities across UML and source code boundaries Use IBM’s Eclipse-powered Rational Application Developer to code, generate, unit test, analyze and debug your applications & services across the Java, Web, Portal and open standards landscapes

Govern The Process of Software Development :

January 10, 2011 25 Govern The Process of Software Development Budget Status from Rational Portfolio Manager Defect Glide Path from Rational ClearQuest Testing Status from Rational TestManager Requirements Volatility from Rational RequisitePro Code Churn from Rational ClearCase

Software Modernisation Notes:

January 10, 2011 26 Software Modernisation Notes

Software Modernisation Issues:

January 10, 2011 27 Software Modernisation Issues To enable flexibility, IT must overcome challenges such as: No electronic inventory of current IT assets Complex application architectures Skills lock-in Islands of development No flexibility for new investments

Rational Toolset:

January 10, 2011 28 Rational Toolset Use Rational ClearQuest Test Manager to manage your testing process integrating requirements from Rational RequisitePro Use Rational Manual Tester to provide comprehensive testing of anything including printed documents, internal processes, etc. Save time and improve quality by automating tests with Rational Functional Tester (RFT), including extensions for 3270, 5250, and VT Ensure scalability of applications which expose existing assets in new ways (e.g. services) with Rational Performance Tester (RPT) Identify vulnerabilities, privacy issues, quality exposures, and standards non-compliance with Rational AppScan

Application Transformation :

January 10, 2011 29 Application Transformation zSeries iSeries Unix Windows Automated Conversion Rational Application Developer (RAD) Application Environments Approach Rational Management Tools Refactoring Rational Business Developer (RBD) iSeries Deployment Windows Linux

Modernise Asset Management :

January 10, 2011 30 Modernise Asset Management Understand and analyse the impact of change across heterogeneous enterprise applications using X-Analysis Manage assets across their lifecycle from design and creation to consumption and change with Rational Asset Manager (RAM) Deploy and manage runtime services using WebSphere Service Registry & Repository (WSRR)

Spectrum of Options for Application Modernisation:

January 10, 2011 31 Spectrum of Options for Application Modernisation Existing Core Business Applications New UI refacing or rewriting Web browser UI Or Rich UI Modern Screens Portal Extract Design Re-Build New Application EGL Java ILE E G L Java COBOL Transformation/ Conversion Discovery and Analysis Refactoring “Rationalized” Efficient Version of the Application Reusable Components or Services SOA

Application Analysis, Discovery and Maintenance:

January 10, 2011 32 Application Analysis, Discovery and Maintenance Objective and accurate forensics for impact analysis System wide perspective Visualisation Drill-Down from high-level to detail Non System/technology expert inclusion Improved development quality and productivity Share critical information accurately Make large scale changes possible: field resizing

Automated Repository Generation:

January 10, 2011 33 Automated Repository Generation Cross-Reference Data Data Model Data Source Data Base Programs Displays Existing System Business Rule Logic Business Logic Validation Calculations Secondary Reads Secondary Updates Batch Calls Data Model Data Dictionary Logical Files/Views Key Map Relationships Special Fields Cross-Ref Data All Objects All Source All Languages All Variables Automated Extraction and Refresh X-Analysis Repository

Business Rule Extraction:

January 10, 2011 34 Business Rule Extraction Business Rule Narratives

Software Rewrites:

January 10, 2011 35 Software Rewrites New IDE Tool Eclipse/Rational/ Visual Studio/EGL/ Plex/LANSA Discovery, Analysis & Maintenance X-Analysis X-Referencing & Documentation Relational Data Model Business Rule Logic Graphical Function Diagrams RPG as Pseudo Code Data Flow Charting UML& DDL Extraction RSx/Together/CA GEN Software Modeling Tools Activity, Use-Case & Class Diagrams Data Model Redesign Persistence CRUD SOA JSF/Java/RCP Web2.0/Ajax .Net/ASP/C# Silverlight/XAML PHP/MySQL X-Migrate

VB6 Modernisation:

January 10, 2011 36 VB6 Modernisation Automatic conversion to either .NET or JAVA

PowerBuilder Modernisation:

January 10, 2011 37 PowerBuilder Modernisation PowerMigrator tool Migration process: 1: Gathering requirements 2: Generate JSP 3: Generate Component Templates 4: Select, Slice and Move 5: Testing 6: Debug 7: Deploy

PowerBuilder Migration Architecture:

January 10, 2011 38 PowerBuilder Migration Architecture

Sample Banking Application Infrastructure:

January 10, 2011 39 Sample Banking Application Infrastructure Sample internet banking application layers

Sample Banking Application Components:

January 10, 2011 40 Sample Banking Application Components

More Information:

January 10, 2011 41 More Information Alan McSweeney alan@alanmcsweeney.com