Title: PWB504 Interoperability and Application Development in an Open Environment
1PWB504 Interoperability and Application
Development in an Open Environment
Dean Jones TeamSybaseCEO of PowerObjects
dean_at_powerobjects.com(612) 339-3355
2Who we are
- PowerObjects
- Multi-Million Dollar Company
- Complete Solution Provider
- Develop Custom Systems
- Specialize in Web Development
- Offer Web Application Hosting
- Certified Developers on Staff
- Java, Microsoft and Sybase Certified
- Member of Team Sybase
3Agenda
- The Problem
- IT Industry Struggles
- Moving Toward Open Solutions
- A Solution PowerBuilder 9
- Web Services
- EJB
4IT Industry Struggles
- Internet Boom
- Created many of ITs problems
- Everything had to run on the Web
- Companies spent endless amounts of money
- Which in turn drove up billing rates
- Which in turn caused everyone and their dog to
get an IT degree or certificate - Outcome
- We have companies developing on new technologies
at very high billing rates using developers that
have never developed a system in their career. - Failure
5IT Industry Struggles
- Quotes from industry experts
- "There is tons of money being spent and
expectations are forever lowered. It's a
nightmare. The net effect is very poor
applications that cost lots of money. I think
most people think they're going to find the light
at the end of the tunnel at some point...." - - Carson Hager Cynergy Systems 10/02
6IT Industry Struggles
- Quotes from industry experts
- Is Complexity Hurting Java
- Article by Jason Weiss
- Specifications don't solve business problems
they solve technology problems - - Jason Weiss 10/02
- Personified Technologies, LLC
7IT Industry Struggles
- The Glory Days Are Over
- No more endless money for IT projects
- Companies are being constantly asked to deliver
more with less - Return to ROI
- Problem How to develop systems quickly and
efficiently - Companies have been sold the idea that systems
can be developed quickly and efficiently by using
a new programming language.
8IT Industry Struggles
- What language should we develop in?
- C/C, Java, .NET, PowerBuilder, Visual Basic, C
- What application server should we use?
- WebLogic, WebSphere, EAServer
- What architecture should we use?
- .NET, J2EE
- Companies are making corporate decisions before
knowing the problems theyre solving - I use the analogy of a race team, You dont buy
a race-car before you know what type of track
youre going to be racing on.
9Choosing a Technology or Solution
- Companies are standing still trying to
standardize on a language and technology - Pipe Dream
- Not solving user problems
- Companies are blaming the programming language
for project failure - Many projects fail because no one cares about
adding value or ROI - Focus is on Internet (World Wide Web), not a
solution - Focus is on technologies instead of the business
10Choosing a Technology or Solution
- Companies cant focus on the technologies
- No company can afford to rewrite all their
business solutions in a new technology - Too expensive and would take too long
- The technology selected today will change again
in 2-3 years - Solutions developed today would need to be
rewritten in 2-3 years if attempting to
standardize on a given technology because the
technology will continue to change. - Business solutions today will still be here in
2-3 years - The business problem solved today will still be
part of our business tomorrow.
11Choosing a Technology or Solution
- Companies that will be successful
- Focus on solutions, not technologies
- Reuse business solutions
- Reuse today's Visual Basic, PowerBuilder, Java
and C/C - Business solutions need to be open so new and
existing business solutions can access them - Develop tomorrow with any language
- If the solution is open, any language will have
access to it. The solution will not need to be
rewritten in the new technology
12Moving toward open solutions
- Companies have many in-house solutions
- Cant abandon these solutions as we develop new
solutions - Companies need to be open to new solutions that
fit their organizations - .NET, J2EE, CORBA, EJB Solutions
- Visual Basic, C, C/C, Java, PowerBuilder, COBOL
13Moving toward open solutions
- The key is to focus on Open Solutions
WebLogic Java
EAServer JavaC/CPowerBuilderVisual Basic
.NET Visual BasicCC/C
EJB
XML
CORBA
Web Services
WebSphere JavaC/C
14PowerBuilder 9 The Solution
- DataWindow XML support
- PowerBuilder Native Interface
- JSP Targets
- Web services for JSP clients
- Web services for Windows clients
- EJB clients for third-party application servers
15Web Services
- What are Web services?
- A URL-addressable resource that performs
functions and provides answers - Self-Describing Using a Web Services Definition
Language (WSDL) to describe the attributes the
service provides in XML - Using SOAP and WSDL, a collection of functions
published remotely as a single entity can become
part of your PowerBuilder application - Invoking Web services through SOAP requires
serialization and deserialization of data types,
and the building and parsing of XML-based SOAP
messages
16PowerBuilder
- PowerBuilder 9 has two wizards
- PowerBuilder applications to access Web services
17PowerBuilder
18PowerBuilder - JSP
- JSP Web Service Proxy
- Automate your JSP client
19PowerBuilder - JSP
- Declare needed classes
- Call our tag
lt_at_ page import"GoogleSearchResult" gtlt_at_
page import"ResultElement" gtlt_at_ page
import"DirectoryCategory" gtlt_at_ taglib
uri"GoogleSearchService.tld" prefix"demo" gt
ltdemodoGoogleSearch lr"" oe"" restrict""
filter"false" key"lTcmV/xQFJP012AWtbKS768YRdO39R
Ege9" q"powerobjects" maxResults"10" ie""
start"0" safeSearch"false" /gt
20PocketSoap
21.NET Calling PowerBuilder
- .NET can call PowerBuilder two ways
- COM-CORBA Bridge
- Web Services
22EJBs
- A PowerBuilder application can act as a client to
an EJB component running on an application server
that is J2EE compliant - Sybase EAServer
- IBM WebSphere
- BEA WebLogic
23EJBs Connection
- When calling EJBs you need to tell PB about
needed Java classes
PowerBuilder Objects
24EJB Proxy
- Setup the classpath and class name
- ejb20_basic_beanManaged_client.jar
- weblogic.jar
- pbejbclient90.jar
- rt.jar
25EJBs Lookup
- To lookup an EJB you need three pieces of
information - Proxy Name
- example "accounthome
- JNDI Name
- example "ejb20-beanManaged-AccountHome
- Home Class
- example "examples.ejb20.basic.beanManaged.AccountH
ome - How do we know or get these values?
26EJB JNDI
27EJB Remote Name
28EJBs Lookup
- proxyName "accounthome"
- jndi_name "ejb20-beanManaged-AccountHome"
- homeClass "examples.ejb20.basic.beanManaged.Acco
untHome" - myhome conn.lookup(proxyName, jndi_name,
homeClass ) - MyBean myHome.create( Dean, 10000 )
29EJBs Method
- After Connecting, Looking up our remote EJB we
can call methods against the EJB.
30Open Solution
- VB.NET Calling PowerBuilder Component
31Open Solution
- PowerBuilder Calling .NET and BEA Web Service
32Open Solution
- Java Client Calling PowerBuilder Web Service
33Open Solution
- PowerBuilder Calling WebLogic EJB
34Open Solution
- ASP.NET Calling PowerBuilder Result Set
35Open Solution
- PocketBuilder and PocketSoap - PocketPC
Mobile Users, Wireless Connections, Access
Databases, Access Application Servers, Store and
Forward, Replicate
36Summary.
- IT has had many struggles
- We talked about technology vs. solutions
- We discussed a need for open solutions
- PowerBuilder 9 allows you to continue to move
forward with open solutions today - Web Services opens up PowerBuilder 9
- Consume and Publish
- EJBs Extend PowerBuilder 9
- Closing point
37FYI - IT is a Support Industry
- Technology advancements have been so large that
corporations have started believing technology is
their business - Dont forgettechnologys role is to support the
business - Corporations will have no need for technology if
they cant sell more products and/or services
better and faster than their competition.
38Look for smlPortal
39Questions
40Grab one of my business card
Dean JonesChief Executive Officerwww.powerobject
s.com
401 2nd Ave. S. Suite 843Minneapolis, MN
55401Office 612.339.3355cell 612.701.4017fax
612.339.4433 dean_at_powerobjects.com