SlideShare una empresa de Scribd logo
1 de 62
© 2014 IBM Corporation
WebSphere Application Server
Liberty profile support for Java
Batch and the JSR-352
Specification
Dave Sudlik (IBM)
dsudlik@us.ibm.com
Jhonatan Okata (SICOOB)
jhonatan.okata@sicoob.com.br
Session ASZ-1841
Please Note:
• IBM’s statements regarding its plans, directions, and intent are subject to change or
withdrawal without notice at IBM’s sole discretion.
• Information regarding potential future products is intended to outline our general
product direction and it should not be relied on in making a purchasing decision.
• The information mentioned regarding potential future products is not a commitment,
promise, or legal obligation to deliver any material, code or functionality. Information
about potential future products may not be incorporated into any contract.
• The development, release, and timing of any future features or functionality described
for our products remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in
a controlled environment. The actual throughput or performance that any user will
experience will vary depending upon many factors, including considerations such as the
amount of multiprogramming in the user’s job stream, the I/O configuration, the storage
configuration, and the workload processed. Therefore, no assurance can be given that an
individual user will achieve results similar to those stated here.
2
Online and batch processing differ primarily in the type of interaction and
expectations for responsiveness
Request
Response
Request
Response
In general:

Interaction is one-for-one ... that is,
request with matching response

Expectation is for response to follow
request in a near-immediate time frame

Examples: Inventory query, Website
shopping transaction, eBanking account
withdrawal
Online Processing
Submit
Complete
Start
End
Process
In general:

Interaction is one-for-many... that is, initial
request results in many results from
processing

Expectation is for results to finish within some
determined non-immediate time frame

Examples: Month end tax calculation, Period
end statements and reports, Data
transformation, Data analysis
Batch Processing
Interaction and ResponsivenessHigh Low
Online and Batch Processing Defined
24 x 7 x 365 Access
Users of your online systems
expect availability at all hours.
Users from other parts of the
world means availability is
expected around the clock.
Mobile Users
Users are no longer tied to a
desk and a computer. Today
users have access to mobile
computing devices that are with
the user wherever they may be.
Day or night, home or office.
Online
Batch
Online
Batch
In the past ... Today ...
Windows of time which used to be dedicated to batch processing are shrinking,
while batch workloads continue to grow as online transactions increase
The need to process batch work has not gone away.
The need to perform batch concurrent with online has emerged.
The need to process batch work has not gone away.
The need to perform batch concurrent with online has emerged.
Batch processing is evolving
It's not just a shrinking batch window... it's also the pressures to reduce duplication
in staff and infrastructures supporting batch and online environments
Batch Support Staff Online Support Staff
Maintaining homegrown infrastructures for separate online and batch
processing results in increased costs and decreased business focus
Maintaining homegrown infrastructures for separate online and batch
processing results in increased costs and decreased business focus
Redundant staff and IT are under the microscope
Integration with existing processes and
technologies allow for preserving investments
and incremental adoption of batch
Integration with existing processes and
technologies allow for preserving investments
and incremental adoption of batch
Evolving batch processing to leverage Java
enables alignment with online application skills,
and more efficient skills utilization
Evolving batch processing to leverage Java
enables alignment with online application skills,
and more efficient skills utilization
Consolidation around common tools and
technologies enable shared services, code re-
use and support optimizations
Consolidation around common tools and
technologies enable shared services, code re-
use and support optimizations
Online and Batch execution within a common
runtime, managing workloads by priority to
respond to capacity fluctuations and meet SLAs
Online and Batch execution within a common
runtime, managing workloads by priority to
respond to capacity fluctuations and meet SLAs
How can WebSphere Batch address the issues?
11:00pm Midnight 1:00a 2:00am 3:00am
Common Support Staff
JavaJava
Existing
Batch
Existing
Batch
Existing
Batch
Existing
Batch
Integrated Batch and Online Shared Services and IT Infrastructure
Incremental AdoptionBetter Resource and Skills Utilization
 Execution cost savings
 Efficient development tools
 Common runtime /
management
 Abundant availability of skills
A comprehensive batch execution platform, built on WebSphere Application
Server and providing development tools, runtime, and management
Container-managed Services
Web Container
Application
Web Modules
Container-managed Services
EJB Container
Application
EJB Modules
Container-managed Services
Batch Container
Batch Applications
WebSphere Application Server Runtime Environment
Batch job dispatching and
management system
Job resiliency services
(skip record, step retry)
Data record read and
write support services
Parallel job management
and execution services
Checkpoint and job
restart services
COBOL module call
services
Batch
Services
Development framework for batch
Incremental adoption through
integration with existing processes
Concurrent processing of batch and
online workloads
Policy driven workload optimization
to meet business goals
Expedites the completion of batch jobs
through parallel job execution
Completely and tightly integrated into
WebSphere Application Server
What is WebSphere Batch?
WebSphere batch capabilities are fully integrated in WebSphere
Application Server (WAS) as of v8.5. For installations prior to WAS
v8.5, the WebSphere Compute Grid product is required.
WebSphere batch capabilities are fully integrated in WebSphere
Application Server (WAS) as of v8.5. For installations prior to WAS
v8.5, the WebSphere Compute Grid product is required.
JSR-352 and Java Batch
• JSR-352 Specification started in 2011 by IBM as spec lead
• Based on programming models and experience from Compute
Grid, z/OS Batch, and Spring Batch.
• Specification developed through the JCP process by industry
leaders in the batch space.
• Approved by expert group and accepted as part of Java EE 7
• Finally, a standard for the batch programming model!
The Java Batch Programming Model
• Batchlets and Chunks
• Unmanaged and managed batch step processing
• Ability to stop, restart, checkpoint a job
• Listeners
• Provide hook points into various lifecycle events of a job
• Splits and Partitions
• Allow work to be parallelized
• Restart, skip, and retry capabilities
• Allow for increased resiliency of a long running batch job
• Job Specification Language
• XML based job definition with built in dependency injection
1010
WAS v8.5.5 Liberty
Profile &
WAS Developer Tools for
Eclipse (WDT)
WDT Remote
Unzip install and deploy
IM or unzip to install. New option to
deploy “server package” of app +
config + required subset of server
runtime for highest density deploy
Unzip install and deploy
IM or unzip to install. New option to
deploy “server package” of app +
config + required subset of server
runtime for highest density deploy
Liberty Extensions
Add custom features and
integrate 3rd
party
components via Liberty
extensions interface
Liberty Extensions
Add custom features and
integrate 3rd
party
components via Liberty
extensions interface
Fidelity to full profile WAS
Same reliable containers & QOS.
Develop on Liberty profile and deploy
to Liberty or full-profile WAS
Fidelity to full profile WAS
Same reliable containers & QOS.
Develop on Liberty profile and deploy
to Liberty or full-profile WAS
Integrated tools
Powerful tools in WDT Eclipse
feature. Enhanced for v8.5.5
prog models, Maven integration,
++
Integrated tools
Powerful tools in WDT Eclipse
feature. Enhanced for v8.5.5
prog models, Maven integration,
++
Lightweight cluster Mgmt
Liberty servers can join a
lightweight cluster for workload
balancing and high availability
Lightweight cluster Mgmt
Liberty servers can join a
lightweight cluster for workload
balancing and high availability
Dynamic Server Profile
Not static like Web Profile;
configured by app at a fine-grained
level
Dynamic Server Profile
Not static like Web Profile;
configured by app at a fine-grained
level
Start fast, run efficiently
Starts in <3s; Mem footprint
<50MB; (TradeLite benchmark)
Start fast, run efficiently
Starts in <3s; Mem footprint
<50MB; (TradeLite benchmark)
Dynamically Extensible
Install new features from repository
(local or remote) with no svr restart
Dynamically Extensible
Install new features from repository
(local or remote) with no svr restart
“Developer First” Focus
Simplified, shareable XML server config. New
integrated messaging server, DynaCache support,
new prog. models, such as Web Services, JMS &
EJB-Lite.
“Developer First” Focus
Simplified, shareable XML server config. New
integrated messaging server, DynaCache support,
new prog. models, such as Web Services, JMS &
EJB-Lite.
Small Download
50MB for Web Profile features
Small Download
50MB for Web Profile features
Web Profile Certified
Create web apps for the Java
EE Web Profile standard.
Web Profile Certified
Create web apps for the Java
EE Web Profile standard.
Why Java Batch and Liberty?
We have wrapped all the Qualities of Service of Liberty Profile
around the Java Batch programming model.
Java Batch and the Value it Provides
JSR 352//JCL
COBOL or
Assembler
Java main()
Java Java
Traditional Batch
Processing
Early Java Batch
Processing
Standardized Java
Batch Processing
The essential business value of batch processing is the
same; the methods and tools change and bring added value:
Java for Batch Processing
•Availability of programming skills
•Offload of Java to z Systems
specialty engines
•Leverage modern development
tooling
•Priority schedule both online and
batch transactions
JSR 352 Java Batch
•All the benefits of Java Batch (left)
•Standardized programming interface
•Standardized = greater skill availability
•Platform / vendor neutrality
WebSphere JSR-352 Java Batch Qualities of Service
• REST API
• Java Batch in the Liberty profile
provides an easy to use rest interface
to remotely manage your batch jobs
• Ability to start, stop, restart, view job
instance and execution data, and
access job logs
• Job Logging
• Server logs are interleaved with
application records for easy
debugging
• External scheduler integration
• Provides the ability to combine
enterprise quality scheduling with
batch
JSR-352JSR-352
JobJob
LoggingLogging
RESTREST
APIAPI
External SchedulerExternal Scheduler
SupportSupport
Beta
1Q15
More about tooling
• WebSphere Developer Tools
• Create Java Batch Applications using the JSR-352 programming
model and XML job definitions
• Job Creation Wizards
• JSL Editor
• Java class wizards
• Simple to submit, test, and debug applications
• Remote deployment and debug capabilities
• Simple graphical UI to monitor jobs
Partnership with SICOOB
• SICOOB has made extensive use of the Java Batch / JSR-352
support available in the Liberty profile beta:
https://developer.ibm.com/wasdev/downloads/liberty-profile-beta/
• They worked closely with onsite IBM team and through direct
communication with the development lab to migrate from their
existing homegrown batch framework to Liberty Batch.
• We are continuing to work together to scale their batch
environment.
• SICOOB provided excellent feedback during the migration
process:
•Liberty is released in a much more agile delivery cycle allowing IBM to
respond quickly to any feedback
•SICOOB was able to pick up our latest runtime and tooling updates as
they were released to decrease their end-to-end development time
SICOOB Batch
Experience
Who is Sicoob?
16
• The major credit union system of Brazil
Sicoob Growth Rates over previous year
17
Sicoob Legacy
Batch (AS IS)
Sicoob Legacy Batch
Three Tiers Applications
Visual Basic 6.0
COM Architecture
MS Com+ as Application Server
Sql Server 2008
Sicoob Legacy Batch Numbers
Legacy
900 Jobs per
Cooperative
458.100
Total of daily
job
509
Databases
12 Itanium
Server
20 Server
2 vCPU
4 GB
Some of Sicoob Legacy Batch Problems
VB 6.0
Deprecated Technology;
Without MS support;
STA model;
Stateless;
COM+
Difficult to identify bottlenecks;
Default isolation level is serializable;
Unmanaged distributed algorithm;
Some of Sicoob Legacy Batch Problems
Legacy
Batch
• Without SLA and timeout;
• Restrited by COM;
• Without grid computing;
• Restrited by Cooperative;
• Absence of problems analysis tools;
2011: Evolution of
Sicoob Batch
COBOL x JavaCOBOL x Java
26
COBOL,COBOL,
Sure?Sure?
With 55 years, COBOL is considered the most robust
and stable language for environment processing;
In 1997, Gartner estimated that was 180 billion of
LOC. Accounting for 80% of business code;
“.. high throughput, high transaction, mainframe
environments.”
75 american universities/college teach COBOL, but
corresponds only 2%;
+
COBOL in the world
COBOL in the world
“…COBOL skills are highly entrenched in the baby boomer generation”
(by Dale Vecchio – Gartner Research VP)
COBOL in the world
In 2007, Cobol topped the list of dying computer
skills of ComputerWorld magazine;
Difficult to find skilled developer;
Y Generation considers COBOL archaic, being
only attracted by elevated salaries;
Not just knows COBOL, other news skills are
necessary, as EBCDIC, VSAM, ADABAS.;
-
And JavaAnd Java
support?support?
Java in the world
The most popular language (TIOBe) and the biggest
community in the world. Cobol is only 27ªl
Periodic new releases:
Open Source;
JCP;
Certification to ensure the professional knowlegde;
Teached in the major of universities/colleges;
+
Java in the world
Java Batch
Sure?Sure?
Sicoob Challenge
• Worldwide reference lack in processing core banking business
in Java*;
• Late standardization, only proprietary Frameworks;
• Batch Modernization:
• Bring batch concepts to JAVA;
• Batch as service;
• Batch execution environment:
• Dynamic online transaction and batch runtime;
• Share business logic;
• Parallel processing of batch jobs;
• Enterprise scheduler integration (Job dispatching);
35
Sicoob Java Batch Framework
• In 2012, Sicoob developed his homegrown Java Batch
Framework;
36
Flow
• Logical grouping of all jobs to be
scheduled and executed;
• No code is necessary, it will be used
only in design time;
• Cron expression;
Job
• Logical grouping of work;
• Discover the list of step to
process;
Step
• Atomic work to be
performed;
• No checkpoint algorithm
is necessessary;
Sicoob Java Batch Framework
Sicoob Java Batch Framework
Interface
Database
Sicoob Java Batch Framework
Design Time
Number of
executions
depends on the
scheduling
Sicoob Java Batch Framework
Sicoob Java Batch Framework Numbers
• Scheduler runs 24 x 7 with high availability;
• More than 60 Main Flows;
• More than 500K jobs daily;
• 16 Application Server running in Linux and Windows Server;
41
Why Sicoob has
decided to migrate to
JSR352 and WAS
Liberty Profile?
Sicoob Motivations
• Final release of JSR352 was approved in 2013.
• In few years will be more expensive to maintain and train
developer in our framework;
• Sicoob’s presented challenges were technically overcome
• IBM Development Tools and IBM Support;
• Effort to migrate AS instances to WAS
• http://whywebsphere.com/2014/05/07/right-sizing-your-
application-server-environment-liberty-was-was-nd-vs-tomcat-
jboss-weblogic-impact-2014-session/
43
Batch Use Case :
JSR 352 + WAS Liberty
Profile
Batch Use Case Goals
• Transcribe de code and adept from homegrown framework to
JSR 352;
• Use and evaluate WebSphere Developers Tools and WAS
Liberty Profile (Beta version);
• Compare execution time between Sicoob Batch Framework and
new framework over JSR 352;
45
Development Environment
• Eclipse Luna;
• WebSphere Developers Tools (WDT);
• Liberty Profile October - Beta Version;
• Java Batch Feature
• javaBatch-1.0;
• managedBatch-1.0;
46
Overview of Operations Classification (COP)
47
A B C D
D D E F
A A A A
Overview of Operations Classification (COP)
• Daily execution;
• Numbers in Dec/2014
• Total of Classification : 6.471.670;
• Total of Clients: 1.917.089;
49
Batch Flow
50
COP Main FlowCOP Main Flow
Sub Flow:
Preparing Data
3 Jobs
Sub Flow:
Preparing Data
3 Jobs
Sub Flow:
Calculating Risk Level
Jobs
Sub Flow:
Calculating Risk Level
Jobs
Sub Flow:
Final
4 Jobs
Sub Flow:
Final
4 Jobs
51
How does it work?
52
Job: getSteps()
Step: execute()
or
Sicoob Scheduler
COP using JSR352
53
How does it work?
54
Using REST
Scheduler Tool
Points of our development process
• Understand the difference between our framework and JSR352
to transcribe our code as chunk or batchlet;
• When batchlet, identify itemReader, itemProcessor and
itemWriter;
• This is the greatest effort of our work;
• A good business logic layer makes the migration easier;
• Abstract flow’s orchestration;
• Transfer the transaction controller to batch container;
56
Batch Use Case Results
57
Batch Use Case Results
58
Batch Use Case Results
59
Overall Batch Use Case Experience
• Performance of JOBs over JSR352 is linked with the
architecture model applied, so it is important to anticipate the
analysis of batch routines;
• Documentation for batch is quite satisfactory
• IBM Knowledge Center
• WASDev blog
• GitHub JSR352 Repository
60
Overall Batch Use Case Experience
• Support:
• WasDev forum has quickly response time;
• WebSphere Development Tool;
61
Get a lightning start: Key InterConnect 2015 sessions
#2829 Mon 2:00-3:00 Liberté, Égalité, Fraternité—Viva the CICS and WebSphere Mini
Revolution
#1670 Tue 3:30-4:30 IBM WebSphere Liberty z/OS Connect: A Technical Introduction
#4032 Wed 9:30-10:30 Meet the Winners of IBM’s Mainframe Mobile App
Throwdown 2014
#6482 Thu 11:00-11:50 What is the Mainframe Mobile App Throwdown and How Do I
Register?
Register now at
ibm.biz/mmathrowdown
and submit your app by April 12th
Mobilize your mainframe in our fun app-building contest
for
z Systems clients & business partners!
The Mainframe Mobile App Throwdown
is back for 2015!
Notices and Disclaimers
Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY
WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM
THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS
OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of
the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
•IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®,
pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®,
QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®,
Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation,
registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other
companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at:
www.ibm.com/legal/copytrade.shtml.
Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee Portal
to complete your session surveys from
your smartphone, laptop or conference
kiosk.

Más contenido relacionado

La actualidad más candente

Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
Tony Ng
 

La actualidad más candente (20)

Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?
 
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
 
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
Revolutionizing the Data Abstraction Layer with IBM Optim pureQuery and DB2
 
Java Enterprise Edition 6 Overview
Java Enterprise Edition 6 OverviewJava Enterprise Edition 6 Overview
Java Enterprise Edition 6 Overview
 
All of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL DeveloperAll of the Performance Tuning Features in Oracle SQL Developer
All of the Performance Tuning Features in Oracle SQL Developer
 
Dao example
Dao exampleDao example
Dao example
 
Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]
 
CloverETL Training Sample
CloverETL Training SampleCloverETL Training Sample
CloverETL Training Sample
 
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
50 EJB 3 Best Practices in 50 Minutes - JavaOne 201450 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
 
Object oriented design patterns for distributed systems
Object oriented design patterns for distributed systemsObject oriented design patterns for distributed systems
Object oriented design patterns for distributed systems
 
Taking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced ScriptingTaking Your FDM Application to the Next Level with Advanced Scripting
Taking Your FDM Application to the Next Level with Advanced Scripting
 
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
 
2 jdbc drivers
2 jdbc drivers2 jdbc drivers
2 jdbc drivers
 
4 jdbc step1
4 jdbc step14 jdbc step1
4 jdbc step1
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
 
Calling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBayCalling All Modularity Solutions: A Comparative Study from eBay
Calling All Modularity Solutions: A Comparative Study from eBay
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance Tuning
 
CloverETL and IBM Infosphere MDM partners and users
CloverETL and IBM Infosphere MDM partners and usersCloverETL and IBM Infosphere MDM partners and users
CloverETL and IBM Infosphere MDM partners and users
 
JavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine CodeJavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine Code
 

Similar a Was l iberty for java batch and jsr352

Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrd
MidVision
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
Jesy George
 
sunilkumar_updated_resume
sunilkumar_updated_resumesunilkumar_updated_resume
sunilkumar_updated_resume
Sunil Kumar
 
AmaleswaraRao_DOTNET
AmaleswaraRao_DOTNETAmaleswaraRao_DOTNET
AmaleswaraRao_DOTNET
Amal J
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101
Sanjeev Sharma
 

Similar a Was l iberty for java batch and jsr352 (20)

Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrd
 
Eclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in BluemixEclipse tools for deployment to was liberty profile in Bluemix
Eclipse tools for deployment to was liberty profile in Bluemix
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
 
Jesy George_CV_LATEST
Jesy George_CV_LATESTJesy George_CV_LATEST
Jesy George_CV_LATEST
 
Profile narendraredy
Profile narendraredyProfile narendraredy
Profile narendraredy
 
sunilkumar_updated_resume
sunilkumar_updated_resumesunilkumar_updated_resume
sunilkumar_updated_resume
 
KaranDeepSinghCV
KaranDeepSinghCVKaranDeepSinghCV
KaranDeepSinghCV
 
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing WorkloaAAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
AAI-2075 Evolving an IBM WebSphere Topology to Manage a Changing Workloa
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
New Resume
New ResumeNew Resume
New Resume
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Resume
ResumeResume
Resume
 
4. J2EE.pptx
4. J2EE.pptx4. J2EE.pptx
4. J2EE.pptx
 
AmaleswaraRao_DOTNET
AmaleswaraRao_DOTNETAmaleswaraRao_DOTNET
AmaleswaraRao_DOTNET
 
Ibm PureApplication system
Ibm PureApplication systemIbm PureApplication system
Ibm PureApplication system
 
IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101IBM Innovate 2013 Session: DevOps 101
IBM Innovate 2013 Session: DevOps 101
 
Succeding with the Apache SOA stack
Succeding with the Apache SOA stackSucceding with the Apache SOA stack
Succeding with the Apache SOA stack
 
Build & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record TimeBuild & Deploy Scalable Cloud Applications in Record Time
Build & Deploy Scalable Cloud Applications in Record Time
 
Ravi Kiran Resume
Ravi Kiran ResumeRavi Kiran Resume
Ravi Kiran Resume
 
Java, app servers and oracle application grid
Java, app servers and oracle application gridJava, app servers and oracle application grid
Java, app servers and oracle application grid
 

Más de sflynn073

Iag api management architect presentation
Iag   api management architect presentationIag   api management architect presentation
Iag api management architect presentation
sflynn073
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
sflynn073
 
Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.
sflynn073
 
SAP guided workflow in IBM BPM
SAP guided workflow in IBM BPMSAP guided workflow in IBM BPM
SAP guided workflow in IBM BPM
sflynn073
 
Sap guided workflow in ibm bpm
Sap guided workflow in ibm bpmSap guided workflow in ibm bpm
Sap guided workflow in ibm bpm
sflynn073
 
Ibm odm fraud detection & management system
Ibm odm   fraud detection & management systemIbm odm   fraud detection & management system
Ibm odm fraud detection & management system
sflynn073
 
IBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workersIBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workers
sflynn073
 
How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM
sflynn073
 
IBM BPM off prem options
IBM BPM off prem options IBM BPM off prem options
IBM BPM off prem options
sflynn073
 
Api management update for optus
Api management update for optusApi management update for optus
Api management update for optus
sflynn073
 
Data power use cases
Data power use casesData power use cases
Data power use cases
sflynn073
 
Whats new in data power
Whats new in data powerWhats new in data power
Whats new in data power
sflynn073
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readiness
sflynn073
 
Was liberty in deployments
Was liberty in deploymentsWas liberty in deployments
Was liberty in deployments
sflynn073
 
Dev ops tools and was liberty profile
Dev ops tools and was liberty profileDev ops tools and was liberty profile
Dev ops tools and was liberty profile
sflynn073
 
Was liberty elastic clusters and centralised admin
Was liberty   elastic clusters and centralised adminWas liberty   elastic clusters and centralised admin
Was liberty elastic clusters and centralised admin
sflynn073
 
Monitoring and analytics with was liberty
Monitoring and analytics with was libertyMonitoring and analytics with was liberty
Monitoring and analytics with was liberty
sflynn073
 
Was liberty at scale
Was liberty at scaleWas liberty at scale
Was liberty at scale
sflynn073
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
sflynn073
 
Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practices
sflynn073
 

Más de sflynn073 (20)

Iag api management architect presentation
Iag   api management architect presentationIag   api management architect presentation
Iag api management architect presentation
 
API Management architect presentation
API Management architect presentationAPI Management architect presentation
API Management architect presentation
 
Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.
 
SAP guided workflow in IBM BPM
SAP guided workflow in IBM BPMSAP guided workflow in IBM BPM
SAP guided workflow in IBM BPM
 
Sap guided workflow in ibm bpm
Sap guided workflow in ibm bpmSap guided workflow in ibm bpm
Sap guided workflow in ibm bpm
 
Ibm odm fraud detection & management system
Ibm odm   fraud detection & management systemIbm odm   fraud detection & management system
Ibm odm fraud detection & management system
 
IBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workersIBM BPM Case Manager for knowledge workers
IBM BPM Case Manager for knowledge workers
 
How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM How Nationwide Insurance use IBM Decision Manager and BPM
How Nationwide Insurance use IBM Decision Manager and BPM
 
IBM BPM off prem options
IBM BPM off prem options IBM BPM off prem options
IBM BPM off prem options
 
Api management update for optus
Api management update for optusApi management update for optus
Api management update for optus
 
Data power use cases
Data power use casesData power use cases
Data power use cases
 
Whats new in data power
Whats new in data powerWhats new in data power
Whats new in data power
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readiness
 
Was liberty in deployments
Was liberty in deploymentsWas liberty in deployments
Was liberty in deployments
 
Dev ops tools and was liberty profile
Dev ops tools and was liberty profileDev ops tools and was liberty profile
Dev ops tools and was liberty profile
 
Was liberty elastic clusters and centralised admin
Was liberty   elastic clusters and centralised adminWas liberty   elastic clusters and centralised admin
Was liberty elastic clusters and centralised admin
 
Monitoring and analytics with was liberty
Monitoring and analytics with was libertyMonitoring and analytics with was liberty
Monitoring and analytics with was liberty
 
Was liberty at scale
Was liberty at scaleWas liberty at scale
Was liberty at scale
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
 
Was migration benefits, planning, best practices
Was migration benefits, planning, best practicesWas migration benefits, planning, best practices
Was migration benefits, planning, best practices
 

Was l iberty for java batch and jsr352

  • 1. © 2014 IBM Corporation WebSphere Application Server Liberty profile support for Java Batch and the JSR-352 Specification Dave Sudlik (IBM) dsudlik@us.ibm.com Jhonatan Okata (SICOOB) jhonatan.okata@sicoob.com.br Session ASZ-1841
  • 2. Please Note: • IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. • Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. • The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. • The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. 2
  • 3. Online and batch processing differ primarily in the type of interaction and expectations for responsiveness Request Response Request Response In general:  Interaction is one-for-one ... that is, request with matching response  Expectation is for response to follow request in a near-immediate time frame  Examples: Inventory query, Website shopping transaction, eBanking account withdrawal Online Processing Submit Complete Start End Process In general:  Interaction is one-for-many... that is, initial request results in many results from processing  Expectation is for results to finish within some determined non-immediate time frame  Examples: Month end tax calculation, Period end statements and reports, Data transformation, Data analysis Batch Processing Interaction and ResponsivenessHigh Low Online and Batch Processing Defined
  • 4. 24 x 7 x 365 Access Users of your online systems expect availability at all hours. Users from other parts of the world means availability is expected around the clock. Mobile Users Users are no longer tied to a desk and a computer. Today users have access to mobile computing devices that are with the user wherever they may be. Day or night, home or office. Online Batch Online Batch In the past ... Today ... Windows of time which used to be dedicated to batch processing are shrinking, while batch workloads continue to grow as online transactions increase The need to process batch work has not gone away. The need to perform batch concurrent with online has emerged. The need to process batch work has not gone away. The need to perform batch concurrent with online has emerged. Batch processing is evolving
  • 5. It's not just a shrinking batch window... it's also the pressures to reduce duplication in staff and infrastructures supporting batch and online environments Batch Support Staff Online Support Staff Maintaining homegrown infrastructures for separate online and batch processing results in increased costs and decreased business focus Maintaining homegrown infrastructures for separate online and batch processing results in increased costs and decreased business focus Redundant staff and IT are under the microscope
  • 6. Integration with existing processes and technologies allow for preserving investments and incremental adoption of batch Integration with existing processes and technologies allow for preserving investments and incremental adoption of batch Evolving batch processing to leverage Java enables alignment with online application skills, and more efficient skills utilization Evolving batch processing to leverage Java enables alignment with online application skills, and more efficient skills utilization Consolidation around common tools and technologies enable shared services, code re- use and support optimizations Consolidation around common tools and technologies enable shared services, code re- use and support optimizations Online and Batch execution within a common runtime, managing workloads by priority to respond to capacity fluctuations and meet SLAs Online and Batch execution within a common runtime, managing workloads by priority to respond to capacity fluctuations and meet SLAs How can WebSphere Batch address the issues? 11:00pm Midnight 1:00a 2:00am 3:00am Common Support Staff JavaJava Existing Batch Existing Batch Existing Batch Existing Batch Integrated Batch and Online Shared Services and IT Infrastructure Incremental AdoptionBetter Resource and Skills Utilization  Execution cost savings  Efficient development tools  Common runtime / management  Abundant availability of skills
  • 7. A comprehensive batch execution platform, built on WebSphere Application Server and providing development tools, runtime, and management Container-managed Services Web Container Application Web Modules Container-managed Services EJB Container Application EJB Modules Container-managed Services Batch Container Batch Applications WebSphere Application Server Runtime Environment Batch job dispatching and management system Job resiliency services (skip record, step retry) Data record read and write support services Parallel job management and execution services Checkpoint and job restart services COBOL module call services Batch Services Development framework for batch Incremental adoption through integration with existing processes Concurrent processing of batch and online workloads Policy driven workload optimization to meet business goals Expedites the completion of batch jobs through parallel job execution Completely and tightly integrated into WebSphere Application Server What is WebSphere Batch? WebSphere batch capabilities are fully integrated in WebSphere Application Server (WAS) as of v8.5. For installations prior to WAS v8.5, the WebSphere Compute Grid product is required. WebSphere batch capabilities are fully integrated in WebSphere Application Server (WAS) as of v8.5. For installations prior to WAS v8.5, the WebSphere Compute Grid product is required.
  • 8. JSR-352 and Java Batch • JSR-352 Specification started in 2011 by IBM as spec lead • Based on programming models and experience from Compute Grid, z/OS Batch, and Spring Batch. • Specification developed through the JCP process by industry leaders in the batch space. • Approved by expert group and accepted as part of Java EE 7 • Finally, a standard for the batch programming model!
  • 9. The Java Batch Programming Model • Batchlets and Chunks • Unmanaged and managed batch step processing • Ability to stop, restart, checkpoint a job • Listeners • Provide hook points into various lifecycle events of a job • Splits and Partitions • Allow work to be parallelized • Restart, skip, and retry capabilities • Allow for increased resiliency of a long running batch job • Job Specification Language • XML based job definition with built in dependency injection
  • 10. 1010 WAS v8.5.5 Liberty Profile & WAS Developer Tools for Eclipse (WDT) WDT Remote Unzip install and deploy IM or unzip to install. New option to deploy “server package” of app + config + required subset of server runtime for highest density deploy Unzip install and deploy IM or unzip to install. New option to deploy “server package” of app + config + required subset of server runtime for highest density deploy Liberty Extensions Add custom features and integrate 3rd party components via Liberty extensions interface Liberty Extensions Add custom features and integrate 3rd party components via Liberty extensions interface Fidelity to full profile WAS Same reliable containers & QOS. Develop on Liberty profile and deploy to Liberty or full-profile WAS Fidelity to full profile WAS Same reliable containers & QOS. Develop on Liberty profile and deploy to Liberty or full-profile WAS Integrated tools Powerful tools in WDT Eclipse feature. Enhanced for v8.5.5 prog models, Maven integration, ++ Integrated tools Powerful tools in WDT Eclipse feature. Enhanced for v8.5.5 prog models, Maven integration, ++ Lightweight cluster Mgmt Liberty servers can join a lightweight cluster for workload balancing and high availability Lightweight cluster Mgmt Liberty servers can join a lightweight cluster for workload balancing and high availability Dynamic Server Profile Not static like Web Profile; configured by app at a fine-grained level Dynamic Server Profile Not static like Web Profile; configured by app at a fine-grained level Start fast, run efficiently Starts in <3s; Mem footprint <50MB; (TradeLite benchmark) Start fast, run efficiently Starts in <3s; Mem footprint <50MB; (TradeLite benchmark) Dynamically Extensible Install new features from repository (local or remote) with no svr restart Dynamically Extensible Install new features from repository (local or remote) with no svr restart “Developer First” Focus Simplified, shareable XML server config. New integrated messaging server, DynaCache support, new prog. models, such as Web Services, JMS & EJB-Lite. “Developer First” Focus Simplified, shareable XML server config. New integrated messaging server, DynaCache support, new prog. models, such as Web Services, JMS & EJB-Lite. Small Download 50MB for Web Profile features Small Download 50MB for Web Profile features Web Profile Certified Create web apps for the Java EE Web Profile standard. Web Profile Certified Create web apps for the Java EE Web Profile standard. Why Java Batch and Liberty? We have wrapped all the Qualities of Service of Liberty Profile around the Java Batch programming model.
  • 11. Java Batch and the Value it Provides JSR 352//JCL COBOL or Assembler Java main() Java Java Traditional Batch Processing Early Java Batch Processing Standardized Java Batch Processing The essential business value of batch processing is the same; the methods and tools change and bring added value: Java for Batch Processing •Availability of programming skills •Offload of Java to z Systems specialty engines •Leverage modern development tooling •Priority schedule both online and batch transactions JSR 352 Java Batch •All the benefits of Java Batch (left) •Standardized programming interface •Standardized = greater skill availability •Platform / vendor neutrality
  • 12. WebSphere JSR-352 Java Batch Qualities of Service • REST API • Java Batch in the Liberty profile provides an easy to use rest interface to remotely manage your batch jobs • Ability to start, stop, restart, view job instance and execution data, and access job logs • Job Logging • Server logs are interleaved with application records for easy debugging • External scheduler integration • Provides the ability to combine enterprise quality scheduling with batch JSR-352JSR-352 JobJob LoggingLogging RESTREST APIAPI External SchedulerExternal Scheduler SupportSupport Beta 1Q15
  • 13. More about tooling • WebSphere Developer Tools • Create Java Batch Applications using the JSR-352 programming model and XML job definitions • Job Creation Wizards • JSL Editor • Java class wizards • Simple to submit, test, and debug applications • Remote deployment and debug capabilities • Simple graphical UI to monitor jobs
  • 14. Partnership with SICOOB • SICOOB has made extensive use of the Java Batch / JSR-352 support available in the Liberty profile beta: https://developer.ibm.com/wasdev/downloads/liberty-profile-beta/ • They worked closely with onsite IBM team and through direct communication with the development lab to migrate from their existing homegrown batch framework to Liberty Batch. • We are continuing to work together to scale their batch environment. • SICOOB provided excellent feedback during the migration process: •Liberty is released in a much more agile delivery cycle allowing IBM to respond quickly to any feedback •SICOOB was able to pick up our latest runtime and tooling updates as they were released to decrease their end-to-end development time
  • 16. Who is Sicoob? 16 • The major credit union system of Brazil
  • 17. Sicoob Growth Rates over previous year 17
  • 19. Sicoob Legacy Batch Three Tiers Applications Visual Basic 6.0 COM Architecture MS Com+ as Application Server Sql Server 2008
  • 20. Sicoob Legacy Batch Numbers Legacy 900 Jobs per Cooperative 458.100 Total of daily job 509 Databases 12 Itanium Server 20 Server 2 vCPU 4 GB
  • 21. Some of Sicoob Legacy Batch Problems VB 6.0 Deprecated Technology; Without MS support; STA model; Stateless; COM+ Difficult to identify bottlenecks; Default isolation level is serializable; Unmanaged distributed algorithm;
  • 22. Some of Sicoob Legacy Batch Problems Legacy Batch • Without SLA and timeout; • Restrited by COM; • Without grid computing; • Restrited by Cooperative; • Absence of problems analysis tools;
  • 26. With 55 years, COBOL is considered the most robust and stable language for environment processing; In 1997, Gartner estimated that was 180 billion of LOC. Accounting for 80% of business code; “.. high throughput, high transaction, mainframe environments.” 75 american universities/college teach COBOL, but corresponds only 2%; + COBOL in the world
  • 27.
  • 28. COBOL in the world “…COBOL skills are highly entrenched in the baby boomer generation” (by Dale Vecchio – Gartner Research VP)
  • 29. COBOL in the world In 2007, Cobol topped the list of dying computer skills of ComputerWorld magazine; Difficult to find skilled developer; Y Generation considers COBOL archaic, being only attracted by elevated salaries; Not just knows COBOL, other news skills are necessary, as EBCDIC, VSAM, ADABAS.; -
  • 31. Java in the world The most popular language (TIOBe) and the biggest community in the world. Cobol is only 27ªl Periodic new releases: Open Source; JCP; Certification to ensure the professional knowlegde; Teached in the major of universities/colleges; +
  • 32. Java in the world
  • 34. Sicoob Challenge • Worldwide reference lack in processing core banking business in Java*; • Late standardization, only proprietary Frameworks; • Batch Modernization: • Bring batch concepts to JAVA; • Batch as service; • Batch execution environment: • Dynamic online transaction and batch runtime; • Share business logic; • Parallel processing of batch jobs; • Enterprise scheduler integration (Job dispatching); 35
  • 35. Sicoob Java Batch Framework • In 2012, Sicoob developed his homegrown Java Batch Framework; 36
  • 36. Flow • Logical grouping of all jobs to be scheduled and executed; • No code is necessary, it will be used only in design time; • Cron expression; Job • Logical grouping of work; • Discover the list of step to process; Step • Atomic work to be performed; • No checkpoint algorithm is necessessary; Sicoob Java Batch Framework
  • 37. Sicoob Java Batch Framework
  • 39. Design Time Number of executions depends on the scheduling Sicoob Java Batch Framework
  • 40. Sicoob Java Batch Framework Numbers • Scheduler runs 24 x 7 with high availability; • More than 60 Main Flows; • More than 500K jobs daily; • 16 Application Server running in Linux and Windows Server; 41
  • 41. Why Sicoob has decided to migrate to JSR352 and WAS Liberty Profile?
  • 42. Sicoob Motivations • Final release of JSR352 was approved in 2013. • In few years will be more expensive to maintain and train developer in our framework; • Sicoob’s presented challenges were technically overcome • IBM Development Tools and IBM Support; • Effort to migrate AS instances to WAS • http://whywebsphere.com/2014/05/07/right-sizing-your- application-server-environment-liberty-was-was-nd-vs-tomcat- jboss-weblogic-impact-2014-session/ 43
  • 43. Batch Use Case : JSR 352 + WAS Liberty Profile
  • 44. Batch Use Case Goals • Transcribe de code and adept from homegrown framework to JSR 352; • Use and evaluate WebSphere Developers Tools and WAS Liberty Profile (Beta version); • Compare execution time between Sicoob Batch Framework and new framework over JSR 352; 45
  • 45. Development Environment • Eclipse Luna; • WebSphere Developers Tools (WDT); • Liberty Profile October - Beta Version; • Java Batch Feature • javaBatch-1.0; • managedBatch-1.0; 46
  • 46. Overview of Operations Classification (COP) 47 A B C D D D E F A A A A
  • 47. Overview of Operations Classification (COP) • Daily execution; • Numbers in Dec/2014 • Total of Classification : 6.471.670; • Total of Clients: 1.917.089; 49
  • 48. Batch Flow 50 COP Main FlowCOP Main Flow Sub Flow: Preparing Data 3 Jobs Sub Flow: Preparing Data 3 Jobs Sub Flow: Calculating Risk Level Jobs Sub Flow: Calculating Risk Level Jobs Sub Flow: Final 4 Jobs Sub Flow: Final 4 Jobs
  • 49. 51
  • 50. How does it work? 52 Job: getSteps() Step: execute() or Sicoob Scheduler
  • 52. How does it work? 54 Using REST Scheduler Tool
  • 53. Points of our development process • Understand the difference between our framework and JSR352 to transcribe our code as chunk or batchlet; • When batchlet, identify itemReader, itemProcessor and itemWriter; • This is the greatest effort of our work; • A good business logic layer makes the migration easier; • Abstract flow’s orchestration; • Transfer the transaction controller to batch container; 56
  • 54. Batch Use Case Results 57
  • 55. Batch Use Case Results 58
  • 56. Batch Use Case Results 59
  • 57. Overall Batch Use Case Experience • Performance of JOBs over JSR352 is linked with the architecture model applied, so it is important to anticipate the analysis of batch routines; • Documentation for batch is quite satisfactory • IBM Knowledge Center • WASDev blog • GitHub JSR352 Repository 60
  • 58. Overall Batch Use Case Experience • Support: • WasDev forum has quickly response time; • WebSphere Development Tool; 61
  • 59. Get a lightning start: Key InterConnect 2015 sessions #2829 Mon 2:00-3:00 Liberté, Égalité, Fraternité—Viva the CICS and WebSphere Mini Revolution #1670 Tue 3:30-4:30 IBM WebSphere Liberty z/OS Connect: A Technical Introduction #4032 Wed 9:30-10:30 Meet the Winners of IBM’s Mainframe Mobile App Throwdown 2014 #6482 Thu 11:00-11:50 What is the Mainframe Mobile App Throwdown and How Do I Register? Register now at ibm.biz/mmathrowdown and submit your app by April 12th Mobilize your mainframe in our fun app-building contest for z Systems clients & business partners! The Mainframe Mobile App Throwdown is back for 2015!
  • 60. Notices and Disclaimers Copyright © 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 61. Notices and Disclaimers (con’t) Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. •IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, SoDA, SPSS, StoredIQ, Tivoli®, Trusteer®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 62. Thank You Your Feedback is Important! Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.

Notas del editor

  1. We start with a compare-and-contrast between online processing and batch processing. The point of contrast is the interaction between the request and the processing that takes place. Online processing has, in general, a one-for-one relationship. In addition, there is an expectation of the response being returned in a timely fashion. Batch processing on the other hand has, in general, a one-for-many relationship between the request and the result. The request initiates some background processing against a set of data. The result is the completion of the processing against the data. The expectation is that the processing will be completed in some timely but non-immediate fashion. ------------------------------------------------------------------------ What is Batch? Batch jobs are are tasks where a user isn’t waiting for an immediate response Historically long running jobs that ran on a mainframe that process huge amounts of data Large legacy COBOL code base No longer the case Batch is run on a multitude of platforms using multiple technologies Java is extensively being utilized in the batch space ------------------------------------------------------------------------- What is Batch used for? Payroll processing, payment processing, claims processing, inventory management, credit card processing, credit risk analysis, report generation, end of day/month/quarter/year processing, etc... Read a record from a large datasets, process it, and write out the processed data...continue in a loop. Simple…right?
  2. There used to be a time when &amp;quot;batch&amp;quot; and &amp;quot;online&amp;quot; processing were quite separate from one another. It used to be the case that online processing was stopped altogether so batch processing would have access to the system resources to complete its work. But those days are well behind us. Online processing is becoming more and more a 24 x 7 operation. This is because client access is increasingly global, with people from different time zones seeking access at all times during the day. There may be times during the day when online processing is greatly reduced, but in most cases it is never stopped altogether. That means batch processing much work at the same time as online. To the degree it has dedicated time, that window of time is shrinking. The advent of mobile devices means client access is now even more frequent than before. The transaction work that flows back to information processing systems because of mobile device activity is increasing. And mobile device activity may occur at any time of night or day. It&amp;apos;s truly a 24 x 7 world for online processing. But batch processing has not gone away. There are still requirements to do batch work. So it&amp;apos;s evident batch and online must be done at the same time ... and in a manner that implies both work cooperatively.
  3. Maintaining separate silos of development and infrastructure resources for both batch and online is extremely costly. The uniqueness in development and build technologies requires distinct tools and supporting services, in which there is little if any overlap in skills. There is often a homegrown middleware infrastructure created to try to get some synergies between the two, but this ends up being more of a burden that drives additional maintenance costs. The affects of the silos are: Increased costs in duplicate development and support staff, duplicate software licenses, and IT hardware. With little opportunity for code re-use between the batch and online, there are no efficiencies gained to help in delivering services quickly, and this impacts the ability to deliver services in a timely manner. Furthermore, maintaining a homegrown infrastructure requires companies to dedicate skilled resources to fixing the infrastructure rather than building new business services, also impacting the time to market. The distinct technologies for development, automation, etc requires the company to maintain a staff of unique skills for both batch and online, which makes it difficult to be responsive business needs by moving resources between the two disciplines.
  4. Integrated Batch and Online The picture on this chart represents an objective of cooperative processing of online and batch within same execution runtime -- the managed intermixing of online work with batch work. This is possible when the execution runtime is a multi-threaded design (which IBM WebSphere Application Server is), and the execution runtime is designed to manage the many processes simultaneously (which IBM WebSphere Application Server does). IBM WebSphere Java Batch is a functional solution that is built on top the proven runtime platform of IBM WebSphere Application Server (WAS for short). WAS is today very much capable of handling concurrent online processes simultaneous. To process batch work all WAS needs is an understanding that batch is present, and a container design for handling batch work. With that we&amp;apos;re ready to go into what IBM WebSphere Java Batch is. Shared Services and IT Infrastructure In addition to the batch window shrinking, there are pressures to contain and reduce costs related to information processing as well. Having separate infrastructures for online and batch ... Separate computers, separate tools, separate support staff ... is an idea that is increasingly being drawn into question. Further, custom-built mechanisms for running batch -- particularly Java batch – represent middleware solutions that require a considerable amount of effort to maintain and support. The trend is definitely in the direction of convergence. Online and batch processing are both information processing, and as such can and should be handled in a cooperate, converged manner. This allows for efficiencies in infrastructure, staff, development tooling, and potentially Java assets shared between OLTP and batch. Homegrown middleware solutions are not favored and will eventually be phased out. Better Resource and Skills Utilization • Skills -- Java skills are simply more plentiful than COBOL skills. That&amp;apos;s a fact. Many organizations have very good Java development staffs. It makes sense to leverage those Java staffs for batch work as well. • Tooling -- today&amp;apos;s development tooling products are powerful and quite sophisticated. Acquiring them also represents an investment in technology and an investment in skills. It makes good sense to leverage that investment across multiple information processing disciplines. • Specialty Engines -- COBOL runs on general processors, Java runs on specialty engines. Specialty engines (zAAPs) provide a way to lower overall System z costs ... both in acquisition costs as well as ongoing licensing costs. Specialty engines are an attractive solution and leveraging them for batch work is desirable. • Cooperative Processing -- online processing runtime infrastructures are very often designed around Java. For example, IBM&amp;apos;s WebSphere Application Server is a powerful Java processing runtime. There is an investment in maintaining that online infrastructure. So to the extent that same investment can be leveraged for batch work as well, the better. The bottom line is that Java for batch processing is very much an area of growing interest, and in fact is in use in many very large processing operations. Incremental Adoption A primary benefit of WebSphere batch is the ability to introduce Java batch to existing batch processing over time in an incremental fashion. Customers have thousands of existing legacy batch applications In many cases it would not be feasible to replace significant portions of the existing batch processing at a single time WebSphere Batch is designed with key features to facilitate a step-wise approach to Java batch modernization Integration with existing processes, applications, operating system services and technologies allows WebSphere batch to be introduced incrementally, while still providing immediate value
  5. The WebSphere Application Server product provides what&amp;apos;s known as a &amp;quot;Java EE&amp;quot; (or &amp;quot;Enterprise Edition&amp;quot;) runtime. Java EE is an industry standard specification for an application server that provides a long list of standard application specifications. Part of the design of this &amp;quot;Java EE&amp;quot; runtime is the idea of a &amp;quot;container.&amp;quot; Containers are simply runtime functions that provide managed services to the programs that run in the containers. Container-managed services mean the application programs themselves may focus on their core business logic and not have to implement common functions. WAS by itself has two containers -- Web and EJB. The addition of the WebSphere Java Batch function adds a third -- a batch container. Like other containers, the batch container provides function services to the batch applications that run in the container. The chart shows a summary listing of some of those services. The purpose of this presentation is to provide more information about those services. For the purposes of this chart, just scan through the list of services and think about a Java batch program having access to those services. Then think about what it might take if you had to write those services yourself. But of course you don&amp;apos;t have to write them yourself -- they&amp;apos;re provided with the batch container. ----------------------------------------------------------------------------------------------------------------- What about when things go wrong? Bad network connection, server crashes, I/O errors…etc Or the amount of data is so large you don’t have enough time process it sequentially. How do you manage all of your different jobs?
  6. We have wrapped all the qualities of service of the Liberty profile around the batch programming model Dynamic configuration Operational management Transactions Logging High availability Scalability Tooling But why just Liberty Profile? Where’s Full Profile? Consistent with the previously announced statement of direction, -- IBM intends to certify WebSphere Application Server to Java EE 7 full platform compliance. WebSphere Application Server has made good progress towards this with the WebSphere Application Server Liberty profile features that were made available in WebSphere Liberty Repository through the continuous delivery model. WebSphere Application Server Liberty profile intends to complete Java EE 7 full platform compliance by using this approach. -- In addition, it remains the intention of IBM to certify WebSphere Application Server full profile to Java EE 7 full platform compliance. -- JSR-352 spec is part of the Java EE 7 Spec. But beyond that, IBM wants to work with customers to understand those “additional” features that provide the best Java Batch experience. Look at Compute Grid, as well as what’s been started in the Liberty Profile beta…
  7. 201120122013 Service Channel 348.117.243 441.747.089 643.896.834 Credit Portfolio 19.586.658.183,74 23.166.331.975,17 28.937.216.258 Number of Checking 2.310.226 2.645.527 2.916.067 Total Money Saving 1.110.725.021 1.477.973.922,99 1.938.561.170 New Private Previdenc 6.411 15.442 29.752 Fin Trans Chec Acco 291.379.220 331.938.751 382.917.968 Total of Deposit 3.120.274.057,13 3.979.490.792,22 4.856.459.527
  8. Open Source: Diversos frameworks, IDEs, PlugIn Plataforma de Serviços (PaaS): ESB, Cloud Computing, JCP: Java Community Process: Possibilidade de contribuir e participar da evolução do JAVA Diversas Extensões: J2ME, J2SE, JEE, JAAS...
  9. Homegrown java batch programming model Based in EJB
  10. The Mainframe Mobile App Throwdown is back for 2015. Register at ibm.biz/mmathrowdown. Entries must be submitted by April 12th Get access to IBM zMobile experts and getting started product information for building mobile apps. No need to submit code. Just create a mobile app prototype and submit slides describing your entry and short video of the app in action. See the sessions at InterConnect 2015 that can help you get more info on the throwdown and get registered. Client and BP winners will be announced at Edge2015 (May 11 -15, in Las Vegas), and will receive IBM design time. Eligible clients can also win passes to Edge2015.