ibm i ad product strategy and focus areas
DESCRIPTION
TRANSCRIPT
IBM Software Group | AIM
IBM Confidential
IBM i AD Product Strategyand Focus Areas
IBM i AD Solution TeamStrategyMar 23, 2009
2
IBM Software Group
IBM Confidential
Agenda
Do not leave customers behind
– The 1980’s, 1990’s and the new Millennium Application scenarios
– What are the problems our customers are facing Defining the strategy? Implementing the strategy: IBM Implementing the strategy: You Summary
3
IBM Software Group
IBM Confidential
Agenda
Do not leave customers behind
– The 1980’s, 1990’s and the new Millennium Application scenarios
– What are the problems our customers are facing Defining the strategy? Implementing the strategy: IBM Implementing the strategy: You Summary
4
IBM Software Group
IBM Confidential
Do Not Leave Customers BehindThe 1990’s New Millennium
ILE: Smaller, reusable programs
iSeries
PublicWeb service
(trusted)
Web service(untrusted)
IBM i
Client/Server
The 1980’s
Large, monolithicRPG programs
AS/400
5
IBM Software Group
IBM Confidential
1980’s: The Good Old Days (“Good Times”)Why do we love RPG and COBOL so much!
Developing business applications was simple– All you needed was OS/400, RPG, and ADTS
• Security
• Transaction processing
• Record locking
• Database I/O
• User Interface
• Printing
• ICF
RPG– Simple applications written with only a few lines of code
– Tight integration of the language to the OS
– Focus on business rules
– Very easy to learn
Large, monolithicRPG programs
AS/400
6
IBM Software Group
IBM Confidential
1990’s: ILE
– Move to better programming structure
• Modular programming Code reuse via procedures Service programs
• New languages
• Made Model/View/Controller possible
• New OS Activation groups
Better control over resource management Binding directories
Client server (Visual Age products, Visual basic, ASNA)– Leveraging Workstation capabilities
• Graphical user interface
• Local OS capabilities
– Offloading cycles from the server
– Working disconnectedb
ILE: Smaller, reusable
programs
iSeries
7
IBM Software Group
IBM Confidential
New Millennium: New Realities
Internet– User interface
• Web Browser
– Application Integration
• Web services
– Multi-platform (depends on who you talk to)
– Many different languages
PublicWeb service
(trusted)
Web service(untrusted)
IBM i
8
IBM Software Group
IBM Confidential
Agenda
Do not leave customers behind
– The 1980’s, 1990’s and the new Millennium Application scenarios
– What are the problems our customers are facing Defining the strategy? Implementing the strategy: IBM Implementing the strategy: You Summary i
9
IBM Software Group
IBM Confidential
Key Customer Scenarios
Traditional native applications Rewrite applications Mixed applications
Rewritten apps
RPGCOBOL
CL
JavaEGLPHP
Mixed apps
Traditional apps
10
IBM Software Group
IBM Confidential
Traditional Applications
Traditional Applications–Existing 5250 applications have grown over time and become difficult to manage (Monolithic)
–Typical “application” may have 1000’s of objects and source members Problems
–Difficult to maintain•Dependency analysis (“If this changes, what will be impacted?”)•Duplication of code (little or no reuse)•Unstructured code
–Difficult to manage•Regulatory requirements•Change and Configuration Management
Multiple releasesManaging what changes are in production
–Isolated•Only accessible from same IBM i•Applications not integrated with other platforms
–End user requirements•User interface
–Cost•Resource costs•Loss of opportunity
11
IBM Software Group
IBM Confidential
Rewrite existing Applications New Applications - need to write a new application for the business
– Java, EGL, PHP Problems
– Which languages to use?
• Java, JavaScript, HTML, JSF, XML, XML Schema
– Which user interface technology?
• Patching technologies
• 5250, multiple browsers, Rich client
– Reuse or re-write?
• Difficult to extract business logic from existing monolithic applications
– Difficult to manage
• Change and Configuration Management Multiple releases Managing what changes are in production
– Cost
• Cost to re-use; cost to rewrite
• Skills cost Reuse…
12
IBM Software Group
IBM Confidential
Mixed Applications Mixed Applications
– Well structured, ILE RPG procedures containing only business logic– Web user interface leveraging RPG business logic
• JavaServer Faces, HTML, JavaScript, EGL, PHP, CGIDEV2– Integrated with other applications (internal and external) via Web services
Problems– Added level of complexity
• Now the problem spans multiple languages and systems– Difficult to maintain
• Dependency analysis– Difficult to manage
• User identity and security• Multiple languages and runtimes• Change and Configuration Management
Multiple releases Managing what changes are in production
– Cost• Large OPM code base started to get left behind
Customers had no perceived value (ROI) Those who didn’t move to ILE have a harder time today
• Skills cost
13
IBM Software Group
IBM Confidential
You noticed? The Problems are Similar!
Difficult to maintain– Dependency analysis (TODO: explain)
– Duplication of code (no or little reuse)
– Unstructured code
Difficult to manage– Regulatory requirements
– Change and Configuration Management
• Multiple releases• Managing what changes are in production
Which languages to use?– Platform dependent or independent?
Which user interface technology? Cost
– Resource costs
• Loss of opportunity– Cost to reuse
– Cost to rewrite
– Skills costs
14
IBM Software Group
IBM Confidential
Agenda
Do not leave customers behind
– The 1980’s, 1990’s and the new Millennium Application scenarios
– What are the problems our customers are facing Defining the strategy? Implementing the strategy: IBM Implementing the strategy: You Summary
15
IBM Software Group
IBM Confidential
What are the options? Is moving or mapping old to new realities a good idea?
– Option 1: Do we replicate good old days in new realities
• Advantages: Skill retention Simple and easy
• Disadvantages Will always have 5250 limitations ((indicators, command keys, data areas, data queues)
Need to learn new user interface languages (HTML, Java script) Always dependent on IBM to support new technologies Lacking behind new business opportunities
• Is it technically possible?Unknown
– Option 2: Mixed environment
• Advantages: Can leverage new technologies as they become available Don’t have to ask for IBM to implement it
• Disadvantages More learning
• IBM is committed to keep investing in RPG business logic, however, RPG cannot do everything in the new reality
RPG is a good business language, it is not a good user interface language
Non-Business logic must belong to IBM standard product offerings.
16
IBM Software Group
IBM Confidential
Option 2: Mixed Environment
Controller Logic
Reporting
Rich UIRich UI
Web 2.0
Future UI
RPG/COBOL Business logic
exposed as web services
Controller Logic
Accounts Receivable
Rich UIRich UIWeb 2.0
Future UI
Controller Logic
Order Entry
Rich UIRich UIWeb 2.0
Future UI
Business logic integrated with supplier, customer, and vendor applications
Control logic PHP, EGL, J2EE or others.
17
IBM Software Group
IBM Confidential
Recommended architecture is nice but, Existing applications written in monolithic RPG and COBOL
User interface is mainly 5250
Skill base in RPG, COBOL, CL, and DDS
New architecture can be complex
Today’s Applications Realities
Our Strategy: Provide Rational tools to help you tackle these realities so that you can get to the recommended architecture and manage ongoing application life cycle
18
IBM Software Group
IBM Confidential
Agenda
Do not leave customers behind
– The 1980’s, 1990’s and the new Millennium Application scenarios
– What are the problems our customers are facing Defining the strategy? Implementing the strategy: IBM Implementing the strategy: You Summary
19
IBM Software Group
IBM Confidential
Application Development strategy main themes Application modernization
Program Understanding Program Transformation
Service Oriented Architecture Help IBM i developers SOA enabled applications
Web 2.0 User interface Leverage new user interfaces from existing applications
Application Life Cycle Management Requirement and defect tracking Team Collaboration, SCM, work items Builds and Change Promotion Deployment Quality Management
ALM
SOA
AppMod
AppReach
20
IBM Software Group
IBM Confidential
IBM i AD Solution Focus Areas
App Reach
Service Oriented Architecture•Help IBM i developers create apps which plug into SOA solutions
Application Modernization•Help IBM i developers understand and transform existing code from inflexibly monolithic to extensibly modular
•Program Understanding •Program Transformation
Extending Application Reach•Leverage new user interfaces from existingRPG applications
Application Lifecycle Management•Help IBM i developers manage the entire application lifecycle
•Requirement and defect tracking•Team Collaboration, SCM, work items•Builds and Change Promotion •Deployment •Quality Management
ALMAppMod
SOA
(1)
21
IBM Software Group
IBM Confidential
Application Modernization Tools
Exiting RPG and COBOL applications are large, complex, and often not very well understood
– But, they still need to be maintained and enhanced
– And, they are a very valuable asset
• They contain the logic that runs your business!
Program Understanding– Tools to help architects and developers:
• Better understand existing applications• Perform impact analysis• Identify reusable business logic
Program Transformation – Tools to assist:
• Restructuring existing applications to improve architecture, maintenance, and reuse RPG/400 -> RPG IV -> ILE
• Refactoring existing logic into reusable services
ALM
SOA
AppMod
AppReach
22
IBM Software Group
IBM Confidential
Application Modernization Tools:
Program Understanding
Application Diagram– Available in Rational Developer for System i 7.1& 7.5
– Graphical view of different aspects of an application:
– Source call diagram– Visualizes copybooks, and subroutine, subprocedure and program calls
– Binary view – Visualizes ILE binding relationships between programs, service programs, and
modules– Includes details on procedures contained within them
– Future directions
– Include additional details such as physical, logical and display files– Visualize dependencies between files– Show which members, subroutines, and subprocedures access the files
– Dynamic updates– Add and remove resources from a diagram without rebuilding from scratch
– Allow diagrams to be the central place for developing an application– Intelligent tools that understand the relationships between resources
ALM
SOA
AppMod
AppReach
23
IBM Software Group
IBM Confidential
Application Modernization Tools:
Program Transformation
• Refactoring– Tools in the RSE to allow refactoring of ILE RPG and ILE COBOL
• Renaming fields, subroutines, procedures Have all access and callers update automatically Extract existing code into reusable procedures
– Tool automatically determines which fields need to be passed as parameters and return type
– Program Slicing
• Monolithic program contains many “business rules” or “transactions” All intertwined with other code Cannot be invoked individually (and therefore are not reusable)
• Tools to help identify and refactor these transactions Using static (development time) screen or data flow analysis Using dynamic (runtime) tracing of program flow
ALM
SOA
AppMod
AppReach
24
IBM Software Group
IBM Confidential
IBM i AD Solution Focus Areas
App Reach
Service Oriented Architecture•Help IBM i developers create apps which plug into SOA solutions
Application Modernization•Help IBM i developers understand and transform existing code from inflexibly monolithic to extensibly modular
•Program Understanding •Program Transformation
Extending Application Reach•Leverage new user interfaces from existingRPG applications
Application Lifecycle Management•Help IBM i developers manage the entire application lifecycle
•Requirement and defect tracking•Team Collaboration, SCM, work items•Builds and Change Promotion •Deployment •Quality Management
ALMAppMod
SOA(2)
25
IBM Software Group
IBM Confidential
Using Web Services with RPG and COBOL
Services are the building blocks for today’s applications
Our strategy focuses on restructuring and refactoring existing applications to make it easier to use services
Today RPG and COBOL programs can:– Call Web services using the Integrated Web Services Client for ILE
– Provide Web service interfaces
– Integrated with WebSphere Integration Developer using Web services or MQ Series
– Access XML data natively
ALM
SOA
AppMod
AppReach
Tools to Create Services When to Use
HATS Web services Exposing logic embedded in a 5250 program as a service
Integrated Web Services Server Web browser tool to create a service from a batch program or service program procedure. Easy to use, but limited deployment and customization options.
EGL Service wrapper Development tools to create Web service wrappers for batch programs and service program procedures. Flexible customization and deployment options. Java Service wrapper
26
IBM Software Group
IBM Confidential
Web Services – Future Thoughts
Make it easier to invoke Web services from RPG– Provide native Web services support in ILE to allow WS bindings from RPG
• Similar to how external procedures in a service program are handled in ILE• Language support in RPG IV to prototype a procedure based on an WSDL file• Developer codes a call to Web Service as if it was a local procedure• ILE runtime handles Web Service invocation at runtime based on information in
WSDL file and parameters passed from RPG
– Or, provides tools to generate required code for calling Web services using the Integrated Web Services Client for ILE
• Integrated Web Services Client generates C code based on WSDL file
• Today developer needs to prototype calls to C procedures in RPG and know which data types to pass
ALM
SOA
AppMod
AppReach
27
IBM Software Group
IBM Confidential
IBM i AD Solution Focus Areas
App Reach
Service Oriented Architecture•Help IBM i developers create apps which plug into SOA solutions
Application Modernization•Help IBM i developers understand and transform existing code from inflexibly monolithic to extensibly modular
•Program Understanding •Program Transformation
Extending Application Reach•Leverage new user interfaces from existingRPG applications
Application Lifecycle Management•Help IBM i developers manage the entire application lifecycle
•Requirement and defect tracking•Team Collaboration, SCM, work items•Builds and Change Promotion •Deployment •Quality Management
ALMAppMod
SOA (3)
28
IBM Software Group
IBM Confidential
Web 2.0 - Rich Internet Apps
Users now expect modern, interactive UIs: Dojo, Google Maps, etc.
Browsers are ubiquitous and increasingly powerful Reap the benefits of Client-Server architectures:
– Presentation logic within the browser
– Server used for business and data access logic
– Server bandwidth and response times increase But typically, many low-level technologies to learn:
– JavaScript, HTML, CSS, Ajax, Dojo, SilverLight, SOAP, WSDL, Flex, XML, JSON, Google Maps, HTTP, etc
– Focus is on “how” instead of “what” EGL Rich UI hides these details and complexities:
– Focus is on “what” instead of “how”
– Improves developer productivity
– Enables more developers to build Web 2.0 solutions
– Easily extensible with new widget sets
29
IBM Software Group
IBM Confidential
IBM i AD Solution Focus Areas
App Reach
Service Oriented Architecture•Help IBM i developers create apps which plug into SOA solutions
Application Modernization•Help IBM i developers understand and transform existing code from inflexibly monolithic to extensibly modular
•Program Understanding •Program Transformation
Extending Application Reach•Leverage new user interfaces from existingRPG applications
Application Lifecycle Management•Help IBM i developers manage the entire application lifecycle
•Requirement and defect tracking•Team Collaboration, SCM, work items•Builds and Change Promotion •Deployment •Quality Management
ALMAppMod
SOA
(4)
30
IBM Software Group
IBM Confidential
Team Collaboration Team Collaboration – Rational Team Concert for i
–Team collaboration powered by Jazz technology
–Team Server hosted on IBM i
–Client integrated with RDi
–Manage your team’s activities for RPG, COBOL and Java development on a single server
–Plan your development team’s work and track their progress on these work items
–Store your RPG, COBOL and Java source in a central source control repository
–Improve communications with your team through integrated email notification, work item subscriptions, team news feeds, instant messaging, reports and dashboards
–Team Build support for RPG, COBOL and Java applications
–Web accessibility for non-development team members
ALM
SOA
AppMod
AppReach
31
IBM Software Group
IBM Confidential
Requirement and Defect Tracking
Rational Team Concert for i– Track changes to your RPG, COBOL and Java source in
a single source control repository
– Customize approvals and rules for delivering changes
– Customize the workflows to reflect your own development team’s processes
– Source changes and builds are linked – you can look at which lines of source changed for each build to quickly diagnose regression problems
– Customize the workflows to reflect your development team’s processes
ALM
SOA
AppMod
AppReach
32
IBM Software Group
IBM Confidential
Quality Management
Rational has Quality Management tools –Rational Functional Tester allows you to automate testing of Web and Java applications, and generate reports for the test results
–Rational Manual Tester improves productivity for documenting and running interactive testcases, and generating reports for the test results
–Rational Functional Tester Extension for Terminal-based Applications allows you to automate testing for 5250/3270 terminal-based applications, and generate reports for the test results
Future direction: Integration with Jazz technology–Consolidate development and testing activities on one team server, with links between defects and test results
ALM
SOA
AppMod
AppReach
33
IBM Software Group
IBM Confidential
Agenda
Do not leave customers behind
– The 1980’s, 1990’s and the new Millennium Application scenarios
– What are the problems our customers are facing Defining the strategy? Implementing the strategy: IBM Implementing the strategy: You Summary
34
IBM Software Group
IBM Confidential
Strategy: Top down and Bottom up!
Browser UI
Web Services
More flexible services
App. Modernization tools
HATS Web, Portal, Rich Client
HATS Web Services
Java or EGL consuming services
Application Reach Phase I
Exist?
Various UI
Refactoring Tools
Services
Refactored services
UI
SourceCode
SOA Phase I
Application Reach Phase II
Application Modernization Phase: Componentization
SOA Phase II
Application Reach Phase I
Application Modernization Phase: Componentization
SOA Phase I
Application Diagram
RDi WebServices wizard
35
IBM Software Group
IBM Confidential
QUESTIONS
36
IBM Software Group
IBM Confidential 36
© Copyright IBM Corporation 2007. All rights reserved.
The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.
IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.
… … and tell and tell me What else me What else can ‘i’ do for can ‘i’ do for
you?you?