Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Notes On Software Development, Platform And Modernisation
1. Notes on Software Development, Platform and Modernisation Alan McSweeney
2.
3.
4.
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
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
11. Overview of J2EE and .NET Visual Studio.Net Rational, Eclipse, JBuilder etc. Tools support Multiple Languages JAVA Language support CLR JRE Interpreter Windows Variety of Operating systems Portability CLR (Common Language Runtime) JVM (Java Virtual Machine) Execution Engine ADO.NET JDBC Database Connectivity .Net Managed Components EJBs Middle-Tier Components ASP.NET JSPs Web Pages and HTML Microsoft Oracle, IBM, Oracle, Apache and many others Middleware Vendors Product Standard Type of Technology .NET J2EE FEATURE
12. Detail of J2EE and .NET Visual Studio .Net, the single IDE for building .Net windows, web applications, or XML Web services Java features a wide variety of tools – Rational, Eclipse, JBuilder, JDeveloper etc Tools support It is language independent and can use any language once a mapping exists from that language to IL Only Java is supported Language support .Net only supports the Windows platform J2EE offers complete cross-platform portability Portability The CLR environment executes .Net's Microsoft Intermediate Language code Java source code compiles into machine-independent byte code, which the JVM interprets at runtime Execution Engine ADO.NET JDBC Database Connectivity A variety of data sources can be accessed by developers through .Net's ADO.Net classes Two main types of entity beans are used to model persistent data which are container-managed and bean-managed Data Access .Net remoting allows calls to remote objects distributed across application domains, processes, and machine boundaries JNDI finds server-side components such as EJBs or JMS queues Calling Remote Objects Manual transaction management or automated through CLR Manual transaction management or automated through containers Transactions ASP.NET under Internet Information Server (IIS) JSPs and Servlets HTML generation .NET J2EE FEATURE
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
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)
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)
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
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
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
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
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
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
30.
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
32.
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
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