Title: Opening ADABAS to SOA and Web Services environments: so many choices what to do
1Opening ADABAS to SOA and Web Services
environmentsso many choices what to do!
- Becky Albin
- Chief IT Architect, Software AG, Inc.
- Becky.Albin_at_softwareagusa.com
2Whats this presentation all about?
- Various ways to have Adabas data exposed via Web
Services/SOA - Discussion topics
- SOA Overview
- XML
- Adabas SQL Gateway
- Adabas SOA Gateway
- Natural Business Services
- EntireX
3SOA Overview
4What is Service-Oriented Architecture (SOA)?
Service Oriented Architecture can be defined as a
software design implementation methodology
("Architecture") of loosely coupled, course
grained, reusable artifacts ("Services"), which
can be integrated with each other through a wide
variety of platform independent service
interfaces.
5What is Service Oriented Architecture?
By way of analogy
6What is SOA?
- An IT architecture for Enterprise applications
- Application functions are modularized and
presented as services - Services are loosely coupled
- Independent of the implementation
- Enables IT to use Technology of choice
- Introduces the paradigm of Business Services
- Enabling reuse
- Decoupling Technology
- Reducing complexity
7SOA Myths What is and What is not
- When not to use SOA?
- Stand-alone, non-distributed applications
-
- Limited scope and short-lived applications
- Homogeneous application environment
- What is SOA?
- SOA is a design philosophy, not a technology or a
methodology. - SOA is not a product.
- SOA is NOT Web Services. Web Services is one of
the means to achieve a SOA. - SOA is a means, not an end.
-
- Opportunity emerges when a SOA is adopted.
- The Myths
- Services and components are the same thing.
- Any use of services is SOA.
- Use of J2EE or .NET automatically results in a
SOA. - SOA requires SOAP or, conversely, use of SOAP
results in SOA. - SOA requires all new standards and products
- Issues with existing models
- Proprietary protocols
- Interoperability
- Platform lock-in
- Limited Flexibility
8Why SOA?
9SOA Value Proposition (Business Benefits)
- Agile business and technology environment
- Systems and information heterogeneity - loosely
coupled - Business process heterogeneity
- Reduced business, IT, and maintenance costs
- Manageable project size
- Technology autonomy and platform-agnostic systems
- Vendor-agnostic technology
10SOA Value Proposition (Technology Benefits)
- Does not Rip and Replace Existing Applications,
instead extends them - Reduced number of interfaces and development
time - Platform / Protocol -agnostic applications
- Design and run-time discovery, introspection and
use of services - Standards-based architectures
- Ability to catalog, discover and assemble
services - Several enablers - Portals, BPM, Web Services,
BI, ESB, Grid
11Todays Environment
Veteran Training
Voc Rehab
Self Service
State and Federal Government
Job Corps
Existing
Manual
Needed
State Agency
Legacy
Case Mgmt
Custom
Manual
Spreadsheet
12Tomorrows Environment Yes, we can do this
Veteran Training
Voc Rehab
Self Service
State and Federal Government
Job Corps
Self-Service Portal
Complete View of the Citizen
Seamless Connectivity
Data Sharing
State Agency
Legacy
Case Mgmt
Custom
Manual
Spreadsheet
13XML Overview
14XML Is Familiar...
15XML - The Self-Describing Data Language
- XML tags describe the content of the data, not
the presentation - Element names
- Document structure
- XML is simple (text based)
- Human readable
- Easily processed
- XML is extensible
- XML is verifiable
- validate for correctness / integrity
- Not required for Web Services
16 XML - Self Describing Data
10100305018954 ABC00110 100010000DEF0025 50
25010250
ltPurchaseOrdergt ltPONumbergt1010lt/PONumbergt
ltPurchaseDate FormatMMDDYYgt030501lt/PurchaseDa
tegt ltCustomerNumbergt8954lt/CustomerNumbergt
ltPOLinesgt ltLinegtltProductIDgtABC001lt/ProductIDgt
ltQuantity UnitsEAgt10lt/Quantitygt
ltProductPrice CurrencyUSDgt1000ltProduc
tPricegt ltLineTotal
CurrencyUSDgt10000lt/LineTotalgtlt/Linegt
ltLinegtltProductIDgtDEF002lt/ProductIDgt
ltQuantity UnitsDZgt5lt/Quantitygt
ltProductPrice CurrencyUSDgt50ltPro
ductPricegt ltLineTotal
CurrencyUSDgt250lt/LineTotalgtlt/Linegt
lt/POLinesgt ltPOTotal CurrencyUSDgt10250lt/POT
otalgt lt/PurchaseOrdergt
17XML Provides Separation of
18Adabas SOA Gateway Overview
19SQL SOA The Big Picture
20Adabas SOA Gateway Key Features
- High performance XML processing
- Native support on all platforms
- No client foot print
- Supporting open standards (Web Services SOAP,
HTTP XQuery) - No knowledge of Adabas required by programmers
- HTTP communication
- Simple integration with JAVA, .NET and BPM
Software packages - Based on APACHE Infrastructure for performance
and stability - Full integration with platform security and
transaction software - XQuery processing engine (coming soon)
21(No Transcript)
22(No Transcript)
23(No Transcript)
24(No Transcript)
25ADABAS SOA Gateway Request WSDL for File
WSDL Defines how to call server
HTTP//ltSoaServerNamegtltSoaServerPortgt/Production/
Employees?WSDL
26ADABAS SOA Gateway WSDL Returned to client
- The WSDL for the file is returned to the client.
Once the client has this file, it knows - What functions/methods it can call for that
file. - The format of the input message required as
input to that call. - The format of the output message that will be
returned to that call. - This is how the ADABAS SOA Gateway can operate
with zero client foot print
27ADABAS SOA Gateway Issue request against file
The ADABAS SOA Gateway maps the request
(dynamically) to an Adabas direct call
28ADABAS SOA Gateway Receive Response from Request
- The SOA Gateway takes the response from ADABAS
and maps this back to XML - The response message is returned to the client
in the format published in the WSDL - The client system needs to know nothing about
the fact that it is talking to ADABAS
29Adabas SQL Gateway Overview
30Adabas SQL Gateway Big Picture
- Why use Adabas SQL Gateway?
- Need real-time access to Adabas data via SQL
reporting tools such as Crystal Reports, Business
Objects, MS Office, etc. - Use ODBC, JDBC, OLE DB or ADO.NET as programming
standards for accessing data - Federated queries across heterogeneous DBMSs
- Want to do Enterprise Application Integration
SQL can be a low cost solution - Need to propagate data down from Adabas to a data
warehouse via SQL
31Adabas SQL Gateway Strengths
- High performance distributed SQL engine
- distributes query processing between multiple
systems. - ANSI 92 SQL Support for SELECT, INSERT, UPDATE,
DELETE - supports complex SQL statements, correlated
sub-queries, unions, etc. Giving the
flexibility of using the full power of SQL to
accomplish business goals. - Advanced SQL Optimizer
- tools that will display the query plan and
allows you to adjust SQL in order to control
query execution paths. - Future integration with Adabas
- more tightly integrated with Adabas, offering
enhanced SQL capabilities.
32Adabas SQL Gateway Key Features
- Provides cost-effective mainframe data
reusability by extending access to Adabas via
standard SQL applications. - Eliminates the need to duplicate or move data to
a data warehouse with direct access to Adabas
information from the desktop. - Increases productivity for both IT programmers
and business users by reducing the number of IT
requests for Adabas information. - Lowers operational costs with an easy to install,
high performance SQL engine that provides quick
and easy access to enterprise data stored on
Adabas. - Extensible by other SQL Adapter to do
heterogeneous joins across disparate DBMS sources - Proven track record with Adabas customers around
the world
33Adabas SQL Gateway Functionality Overview
- ODBC SQL Level 2
- Security
- Meta Data Management
- Enhanced SQL Capability
- Views
- Heterogeneous Joins
- Bi-directional Data Conversion
- Read/Write Access to Data
34Adabas SQL Gateway Architecture
Windows
z/OS, VSE, Unix, Win
O D B C
Adabas SQL Gateway Client
Adabas SQL Gateway Server
TCP/IP
Desktop Apps Crystal Reports, Business
Objects and access from .NET and OLE DB
environments
Data Dictionary
(Windows)
Java Server
J D B C
Adabas SQL Gateway Client
TCP/IP
Java Programs with embedded SQL statements
Data Dictionary
Host platforms available according to the
release schedule
(Windows)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38What the Adabas Gateways have in common
- No additional programming required
- Support for Adabas security
- ADASAF/ADASCR
- No knowledge of Adabas required by programmers
- Open Standards
- OLTP levels of performance
- Traditional mainframe class stability and
service - Simple installation and configuration
- Support for all Adabas platforms
- Close integration with Adabas
39Which Adabas Gateway Should be Used ?
40Adabas and Java
- No need to learn Adabas technology specifics
- Use open and common data access standards
- Use open source tools and frameworks (e.g. Apache
AXIS, Mono (.NET for Linux))
JDBC
SOAP/HTTP
Adabas
Adabas SQL Gateway
Adabas SOA Gateway
41Adabas and .NET
ltScreenshot MS Visual Studio or BizTalkgt
- Fully supports Microsoft data access technologies
ODBC, OLE DB, .NET
SOAP/HTTP
Adabas
Adabas SQL Gateway
Adabas SOA Gateway
42EntireX Overview
43Exposing Adabas data as XML viaEntireX XML
Wrapper
Inventory System
XML
Order Entry System
Payment System
44XML/SOAP as RPC Client
XML Wrapper
RPC Calls
SOAP/XML Requests
Cobol/Natural/etc Application
Web or XML Client
- Easily expose existing service-oriented
Applications as B2B or Web Services
45Adabas access through XML
Mission Critical Applications
Business Partner
Web Server
WWW
Broker Service
XML Application
46EntireX - XML Wrapper - Concept
lt?xml version"1.0" ?gt ...
ltproductgtLaptoplt/productgt ltorder
nogt12345lt/order nogt ...
LegacyFunctionF1
Call Function F1 input Laptop, 12345,
... output yes, 06-06-2000, ...
Laptop, 12345, ...
Input Document
yes, 06-06-2000, ...
Output Document
47EntireX Communicator
UNIX, Linux, Win, OS/400
Design
- Enables integration of existing data and
functionality into a service-oriented
architecture - Treat legacy systems as first class SOA citizens
- Avoid painful rip and replace
- Maximize leverage of existing IT assets
- Retain operational efficiency and competitive
advantage - Capitalize on strengths of proven transactions
- Continued reliability, security and performance
- Rapid Results
- Maximize re-use of what you have
- Deliver real business solutions within time and
budget
RPG, C, C, Java, .NET, ...
Workbench
Mainframe
RPC
.NET / COM
EntireX Broker Messaging Engine
CICS, IMS, Batch COBOL, PL/I, Natural Assembler,
...
Java / EJB
ACI
Load Balancing
XML / SOAP
JMS
Gateway /Adapter
CORBA
Messaging
JMS
SOAP
Security
RDBMS Siebel Peoplesoft,
3GL
Persistence
4GL
Management
Programmatic Integration via Wrapping or Messaging
48Supporting all levels of legacy integrationwith
EntireX Communicator
- Rapid service-wrapping without any coding
- Ready-made adapters
- Session recording
- Intuitive point click tools
- Eclipse based wizards
- Choice of service wrapping approach
- Wrapping on program code level provides maximum
flexibility on service granularity - Wrapping on user terminal session level provides
truly non-invasive solution with unmatched reach
- Bi-directional service enablement
- Web service consumption via traditional sub
program call from legacy environments - No XML or Web services skills required
- Legacy systems can raise events and trigger
actions in other SOA enabled systems
49EntireX Communicator Highlights (1)
- Rapid Service enablement with Wrapping
technology - Wrap existing legacy functions as Web Services
- Wrap Web Services for legacy consumption
- Native support of Microsoft .NET and Java
environments - Bi-directional communication
- Integration with packaged applications
- High performance, bi-directional integration to
SAP R/3 - Certified XI Adapters for SAP NetWeaver, fully
integrated into XI - Integration with other packaged applications via
standards-based adapters - Runs on mainframe, Linux, UNIX and Windows
50EntireX Communicator Highlights (2)
- Large US Financial Customer
- 1,600 messages per second
- 5.7 million messages / hour
- gt 160 million records per hour
- 45,000 records per second
- High performance and scalability designed for
heavy duty - Unmatched reach
- Online and batch applications
- Virtually any programming language
- Broad platform coverage
- Very easy to use short learning curve
- End-to-end security reusing existing security
systems - Messaging option
- Message queuing (asynchronous)
- Message persistence guaranteed delivery
- JMS interface also mixed legacy and JMS
application scenarios
51EntireX Communicator Architecture
UNIX, Linux, Win, OS/400
Design
RPG, C, C, Java, .NET, ...
Workbench
Mainframe
RPC
.NET / COM
EntireX Broker Messaging Engine
CICS, IMS, Batch COBOL, PL/I, Natural Assembler,
...
ACI
Java / EJB
Load Balancing
XML / SOAP
JMS
Gateway /Adapter
CORBA
Messaging
JMS
SOAP
Security
RDBMS Siebel Peoplesoft,
3GL
Persistence
4GL
Management
Programmatic Integration via Wrapping or Messaging
52Reach of EntireX RPC
53Service Enablement with EntireX Communicator
Service and Web Enablement
Session
Services
Service Oriented Architecture Software
AG Process Driven Integration SAP
NetWeaver Etc.
3270 5250 VT
Provide as Service
.NET
z/OS, VSE, VM, Unix, HP e3000, UNISYS, Hitachi,
Fujitsu
Program logic
Provide as Service
J2EE
Cobol, PL/1, RPG, Natural, Assembler
Function
Use Service
XML / Web services
Data
Provide as Service via add-on Adapters
DB2, Adabas, VSAM, SUPRA,
54Example Create Web Service from Cobol function
Map Legacy interface to XML
Generate Web Service
Deploy WSDL and UDDI
Use Web Service
55Natural Business Services Overview
56What is Natural Business Services?
- Combination of Existing Products
- Construct
- Spectrum
- Natural Studio
- Ability to develop a Business Service using
Natural - Provide Development tools and Run-Time
infrastructure - Supports Service-Oriented Architecture (SOA)
57Architecture
Client
Server
RUNTIME Windows, Linux, UNIX
Java
Generated Code and Applications
.NET
Natural Mainframe, Linux, UNIX
XML
Service Runtime (Server)
Service Repository
Natural Objects
Databases Adabas DB2 Oracle IMS VSAM SQL
Windows, Linux, UNIX
Service Runtime (Client)
EXX-ACI
Code Generation Refactoring
SPoD-PAL
DEVELOPMENT Windows, Linux
Natural Services
Eclipse
Tools / IDEs
VS.NET
Natural
Core Infrastructure / Management
Security
Monitoring
Testing
Auditing Logging
58Overview
- How would a Natural Business Service be created?
- Re-use existing subprograms with data and/or
business logic - A service will be a combination of one or more
subprograms - Subprograms will not be called directly
- A service has business methods (i.e.
PROCESS_INVOICE) - Parameters for subprogram become method
parameters - Group services into business domains
- Become composite applications
- How would they be created?
- Development tools, IDE integration
- Easy to use but advanced
- Wizard based
- How will they execute?
- Provide a run-time infrastructure for executing
services - Support many platforms and technologies
- Service proxies provide access from client
platforms
59Features
- Business Service Wizard
- Generates services and stores them in repository
- Service Repository
- Defines services and groups them into domains
- Configuration and security
- Client Service Proxy
- .NET and Java code generation to access Business
Services - Web services
- Generates Web services to access Business
Services - Service Run-Time
- Communication model for both development and
run-time - Simulates Natural parameters
- Flexible communication layer (EntireX, SPoD,
others) - Security to the service method level
- Tools and Services
- Configuration, Monitoring, Testing, Debugging,
etc
60Natural Web Interface Overview
61 Natural Web Interface XML
Web Server Mainframe WinNT
HTTP Server
Browser
XSL
Web Adapter
EntireX Broker RPC
WinNT
EntireX Broker
Natural RPC
Enterprise Server All Natural Platforms
WinNT
Natural Web Interface
XML
Natural
WinNT
62Natural Web Interface
- User authentication
- Log In and NSC passwords will be forwarded to
the Natural server. - Make use of the latest Natural language features
- Supports XSL processing
- W3APPLY-XSLT-XML Apply a stylesheet to the
output page - W3APPLY-XSLT-XML-TO-DYNAMIC Apply a stylesheet
to dynamic variable - Supports html templates
- W3READ-RESOURCE...
- Require EXX611
63Enhanced Web Interface
Windows/Unix
Client
- Natural
- W3LOAD-RESOURCE
- READ employee...
- W3REPLACE
- W3APPLY-XSLT
httpserver
http
CGI
html/xml
DBMS
64Tamino Overview
65Description
66XML and Publishing
67Architecture
How is data retrieved? Tamino uses the XQuery
language. The query returns the information In
the form of a XML object, REGARDLESS of where
the data resides.
68X-Node
Tamino X-Node
- Extends XML document access to non-Tamino data
sources - Easy Integration with Existing Databases
- Single Server View of heterogeneous data
- Access to a wide variety of data
- Data maintained in its native database
environment - Supports read only, as well as read/write access
- Traditional data mapped to new XML document
definitions - Makes all data XML DATA
Tamino Database Server (X-Machine)
XML
Other Data
ODBC
RDBMS
SQL
Adabas
API
69X-Node mapping
- Mapping to Adabas is achieved through the schema
- Schema simply provides Tamino with information on
how and where to retrieve data - What format is data retrieved in?
- A single XML object
- Data sources therefore are transparent to the
application/user
70(No Transcript)
71Data Mapping
- Supports Adabas MU/PE data structures
- All Adabas data types supported
- Index and text search
- Requires Net-Work?
- Read or read/write access
File
Field
Field
72Environment example
73Benefits of Adabas/SOA/Web Services synergy
- Take advantage of XML technology without data
migration - Connectivity to existing legacy Adabas data
- Multiple ways for applications to get Adabas
presented as a Web Service or into a Service
Oriented Architecture - Protects existing Adabas/Natural investments
- New development via standard applications (Java
.NET)