Title: SOA5: Accessing the Application Server from Anywhere and Everywhere
1SOA-5 Accessing the Application Server from
Anywhere and Everywhere
David Lund
Sr. Training Program Manager
2Accessing the Application Server from Anywhere
and Everywhere
Session Goals
- Present the value of centralizing business logic
in one place - Review the gamut of AppServer clients
- Understand when to use each client
3Agenda
Accessing the AppServer from Anywhere and
Everywhere
- Business Logic Central
- A Little History
- AppServer Clients
This presentation use the abbreviation ABL for
OpenEdge Advanced Business Logic (formerly known
as OpenEdge 4GL)
4Common Business Logic
AppServer is a fundamental component of SOBA
- AppServer Center of the business logic universe
- Ways to access business logic
- OpenEdge Clients (GUI, TTY, Batch)
- WebClient
- WebSpeed Clients
- Microsoft .NET Open Clients
- Java Open Clients
- Web Service Clients
- OpenEdge Adapter for SonicMQ and Sonic ESB
Clients may include either a user interface or a
service interface
5OpenEdge Reference Architecture
Presentation
Enterprise Services
Business Services
Common Infrastructure
Data Access
Data Sources
6OpenEdge Reference Architecture
OpenEdge, WebClient, WebSpeed, .NET
Web services, Sonic, Java Open Client
OpenEdge Application Server
7OpenEdge Reference Architecture
OpenEdge, WebClient, WebSpeed, .NET
Web services, Sonic, Java Open Client
OpenEdge, WebClient, WebSpeed, .NET Java Open
Clients, Web services, Sonic
OpenEdge Application Server
8Best of Bread Business Applications
Why so many client choices?
- OpenEdge provides an open environment where you
can choose what you need to be successful - Client options are one example of the flexibility
that OpenEdge offers - Choose the client(s) you need to serve your
customers - Clients can be added as needed
9A note about security
Encrypted Channels
Lift Tours 276 North Drive...
FOR EACH customer DISPLAY customer. END.
OpenEdge Application Server
CONNECT db dbname S dbservice
Client SSL Enabled
...0wv. ..q...w.... ...L........
FOR EACH customer DISPLAY customer. END.
OpenEdge Application Server SSL Enabled
CONNECT db dbname S dbservice -ssl
10SSL Encrypted Channels
WebSpeed Broker
Web Server
WebSpeed Messenger
Web Browser
NameServer
WebSpeed Agents
WebClient
.NET/Java Open Client
3rd Party Database
OpenEdge DataServers
AppServer Internet Adapter
Java Servlet Engine
AppServer Broker
Web Services Adapter
OpenEdge Database
Web Services
ABL Client
3rd Party Web Service
Sockets
OpenEdge Adapter for Sonic ESB
OpenEdge 10.0B and beyond
Sonic ESB
OpenEdge Adapter for SonicMQ
SonicMQ
3rd Party Products
OpenEdge SQL Client
11SSL Encrypted Channels
WebSpeed Broker
Web Server
WebSpeed Messenger
Web Browser
NameServer
WebSpeed Agents
WebClient
.NET/Java Open Client
3rd Party Database
OpenEdge DataServers
AppServer Internet Adapter
Java Servlet Engine
AppServer Broker
Web Services Adapter
OpenEdge Database
Web Services
ABL Client
3rd Party Web Service
Sockets
OpenEdge Adapter for Sonic ESB
OpenEdge 10.0B and beyond
Sonic ESB
OpenEdge Adapter for SonicMQ
SonicMQ
3rd Party Products
OpenEdge SQL Client
12Agenda
Accessing the AppServer from Anywhere and
Everywhere
- Business Logic Central
- A Little History
- AppServer Clients
13Non-AppServer Architecture
Client/Server
Across a network
14Using an Application Server
Distributed (N-Tier) Applications
Optimize based on resources Options
Multiple database servers Multiple
AppServers Number of machines (Tiers)
15Distributed (N-Tier) Applications
- Advantages
- Expanded options in processing distribution
- Greater scalability than Client/Server
- Reusability of business logic
- Considerations
- Client side application distribution
- Network performance
16Agenda
Accessing the AppServer from Anywhere and
Everywhere
- Business Logic Central
- A Little History
- AppServer Clients
17OpenEdge Application Server Clients
Accessing the AppServer from Anywhere and
Everywhere
Web Service
18AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
19OpenEdge Clients
Use for high performance networking and ease of
development
- Considerations
- Fast flexible interface
- Leverage existing ABL UI code
- One language on both client and server
- Development all done in ABL
20OpenEdge Clients
The YES company (Your Entertainment Source)
- Starting to build a business
- New home grown application
- TTY
- Suppliers not automated, heads down entry
- Client/Sever
- Implement at POS and in office
- All BL now on central server
- Using OpenEdge AppServer
21Demonstration
22AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
23WebClient
Use for ease of deployment with a rich client
interface
- Considerations
- Full GUI experience
- Leverages existing application logic
- Automated application distribution and updates
- No manual tasks required for client
- Smaller footprint of executable
- Uses less disk space, less to send over wire
- Client does not directly connect to database
- All database access is done via AppServer
24WebClient
WebClient Architecture
- Same GUI can be used as used for Client/Server
- IntelliStream used to automate client update
tasks - AppServer Internet Adapter Java Servlet
- Interface between Web server and AppServer
25WebClient
WebClient Architecture
- Same GUI can be used as used for Client/Server
- IntelliStream used to automate client update
tasks - AppServer Internet Adapter Java Servlet
- Interface between Web server and AppServer
26WebClient
The YES company
- YES more than doubles in size by acquiring two
other entertainment chains located in other metro
areas - Problem - not enough technical staff or budget
for YES IT group to physically cover all of the
stores - Solution maintain the code in home office and
automate deployment to stores, saving time and
resources
27Demonstration
28AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
29WebSpeed
Runs on any platform and no installation
requirements
- Considerations
- Require minimal client installation
- Require minimal application deployment
- Access via the internet/intranet (browser)
- Doesnt require traditional GUI interface
- Does require skills for browser development
- Does not provide full functionality rich GUI
environment
30WebSpeed
Browser client accessing over the internet
- HTML and some client-side scripting development
- Client installation requires only a browser
- Client application code is stored on the Web
server
31WebSpeed
The YES company
- Expand the reach of the business beyond brick and
mortar - Allow customers to rent/sell of merchandise
on-line - Expose customer rental/sale portion of
application to the Web
32Demonstration
33AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
34Open Clients
Business logic
r-code
Generating Interfaces
ProxyGen
Proxies/ Interface
Web Services Mapping File
Java classes
.NET assembly
35Open Clients
Use for popular interfaces utilizing tightly
coupled performance
- Considerations
- Customer requires specific interface
- Better performance compared to Web services for
the same client
36AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
37.NET Open Client
The YES company
- YES has been very successful at reselling their
application - Expanded opportunities are available if they have
an .NET UI for their application - Problem They don have the skills or the time
to develop the new UI with current staffing - Solution Outsource the UI development and focus
on core competency, business logic - .NET Open Client provides native .NET assemblies
for .NET developers
38AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
39Java Open Client
The YES company
- YES has merged with another company that has a
complementary business - Plan
- YES will maintain their own business
- Leverage by providing interface from YES business
logic to Java based application - Solution
- Use Java Open Client to allow the Java
application to efficiently interface with the
OpenEdge AppServer based BL
40Demonstration
41AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
42Web Service Clients
Use for standards based interfaces that are
loosely coupled
- Considerations
- Use agreed on standards to connect dissimilar
and/or unrelated applications - Requires (at a minimum) basic understanding of
standards to be used - Requires 3rd party products
- Web server and Java Servlet Engine
43Web Service Clients
Web services
- Any client that follows Web service standards for
SOAP, WSDL, and XML Schema is supported - Includes OpenEdge, .NET, and Java clients
- Web service is deployed using Progress Explorer
44Web Service Clients
The YES company
- Yes has moved into bulk sales to other retailers
and wholesales - Problem - They dont know what systems and
languages are used by each customer - There is no way to support them all without some
commonality to the interface - Solution agree on common standards (WSDL, SOAP,
) and use Web services to sent and receive data
45Demonstration
- Client
- Web service client
46AppServer Clients
Accessing the AppServer from Anywhere and
Everywhere
- OpenEdge
- WebClient
- WebSpeed
- Open Clients
- Microsoft .NET
- Java
- Web Service
- Sonic
47SonicMQ APIs
Use for standards based interfaces with full
featured support
- SonicMQ messaging backbone provides
- Participation in standards based JMS messaging
- Continuous availability
- Guaranteed message delivery
48Sonic ESB OpenEdge Service
Use for standards based interfaces with full
featured support
- Sonic ESB enables your business to implement an
enterprise-class SOA that - Connects, mediates and controls services,
wherever they are deployed - Eliminates hard-wired service dependencies
- Is fast, dependable, and secure communications
- Includes transactional failover of service
interactions - Uses reliable and secure Web services, with
synchronous and asynchronous interaction - Operates across domains, physical networks and
corporate boundaries
49Sonic ESB OpenEdge Service
Use for standards based interfaces with full
featured support
OpenEdge Sonic support
- OpenEdge is a fully supported service for both
SonicMQ and Sonic ESB - OpenEdge AppServer can be implemented as
available services on a communications bus
50Sonic Clients
The YES company
- Problem - Overstock in the warehouse is tying up
too much capitol that could be used more
productively elsewhere - Need to reduce the stock and work with
just-in-time delivery, but concerned that orders
will be lost causing shortages - Solution Add a Sonic client for crucial
deliveries to assure that messages are not lost
51In Summary
- Centralize business logic on AppServer
- Accessible from anywhere and everywhere
- AppServer Clients
- OpenEdge, WebClient, WebSpeed, .NET, Java, Web
Services, Sonic
52Relevant Exchange Sessions
- DEV-5 An Introduction to WebSpeed
- DEV -7 Ease Your Deployment Woes with OpenEdge
WebClient - It's not Magic! - DEV-11 Leveraging ProDataSets in an Open
Environment (Open Clients) - MOVE-8 Separating Interface from Logic
(OpenEdge) - SOA-12 Integrate over the Web with OpenEdge Web
Services - SOA-13 Advanced AppServer Topics
53Relevant Exchange Sessions
- SOA-2 OpenEdge 10.1A Adapters for SonicMQ - New
Install, New Architecture and New APIs - SOA-3 Getting the Message So You Need to
Integrate, But What do You Need to Know and Do?
(Sonic) - SOA-7 Designing Sonic ESB Services and Processes
for the OpenEdge Developer - SOA-14 Deploying Your SOA Application (Sonic)
54Education / Documentation References
- Courses
- Whats new in 10.1A SOA Support
- Consuming Web Services from OpenEdge
- Opening 4GL Applications to Web Services Clients
- Opening 4GL Applications to .NET Clients
- Distributed AppServer Application Development
55Questions?
56Thank you foryour time
57(No Transcript)