Title: OSAPARLAY TRAINING SESSION
1OSA/PARLAY TRAINING SESSION
- Mårten Lundgren M.Sc
- System Developer
- Service Layer Development Ericsson AB
- marten.lundgren_at_ericsson.com
2The overall agenda
- Morning
- OSA/Parlay Development
- Benefits using Parlay and Parlay X
- Afternoon
- OSA/Parlay exercises
- Parlay X exercises
- All of you interested in joining the afternoon
session are welcome to copy the teaching material
as soon as possible to save time later on.
3OSA/Parlay Agenda
- Examples of Parlay Services
- Some market potential
- Fundamentals of Parlay application development
- Key factors for killer services
- A Parlay application development process
- Know the possibilities
- Identify a need
- Develop the service
- Use Case
- Sequence
- Pattern
- Structure
- Lifecycle
- Test and Tools
- Deploy
- Summarization
4Some service examples
etc
5Market potential
- The Chinese new year holiday of 2006 generated
12.6 billion sent SMS messages. Source Interfax
China IT Telecom Report, 2006 - Penetration of unique individuals in Latin
America with mobile wireless access will increase
from 27 to 41 between 2004-9. Source Yankee
Group, January 2006
Source Yankee Group, January 2006
6Market potential
Forecast split of mobile service revenue in
Western Europe by broad service category, 20039
Source Analysys Research, 2004
100
90
80
70
Mobile content
60
50
Other non-voice
40
Voice
30
20
10
0
2003
2004
2005
2006
2007
2008
2009
7Motivation Why get involved?
- HTML for the WWW
- Global availability
- Access to anywhere, whenever
- Fat clients (PC)
- Often fixed
- Parlay for the Telecom
- Personal availability
- Access to anywhere, whenever from wherever
- Thin clients (Phone)
- Often portable
Getting access to the bank in the middle of the
night in a taxi from the airport.
Getting access to the bank in the middle of the
night.
Mobility adds a new dimension for service
creation!
8How to create the next killer service?
- Need for a foundation consisting of
- technology competence
- ingenuity
- clear roles
- joined effort
- process understanding
- visibility
joined effort
clear roles
Reach out
ingenuity
Deploy
Develop service
technology
Identify need
Know the possibilities
9Know the possibilities
- Parlay specifications
- Framework (access and authentication)
- Call Control (voice)
- User Interaction (SMS, MMS, WAP, email)
- Mobility (geographic location, general status)
- Terminal Capabilities (phone features)
- Generic Messaging (message system)
- Charging (payment)
- Data Session Control (typically GPRS session
management) - Connectivity Manager (quality of service, virtual
private network) - Account Management (charging event notification)
- Presence and Availability Management (status on
various devices) - Multi-Media Messaging (voice mail, email,
multimedia) - Policy Management (policy enabled network access)
10Know the possibilities
- Parlay X specifications
- Third Party Call (application generated calls)
- Call Notification (call information)
- Short Messaging (sms)
- Multimedia Messaging (mms)
- Payment (charging)
- Account Management (balance information)
- Terminal Status (state of terminal)
- Terminal Location (geographic position)
- Call Handling (rule management)
- Audio Call (playing audio)
- Multimedia Conference (group broadcasts)
- Address List Management (user group management)
- Presence (messaging availability)
11Know the possibilities
- Locate Operator / Service Enabler
- List supported Parlay services
- Get the preferred Gateway Supplier resources
- Locate Gateway Supplier
- Get compliance statement from current Gateway
Supplier - Get Parlay SDK (API, Simulators, Examples)
- Choose implementation specifics
- Programming language
- Good IDE (Borland JBuilder, Eclipse, Visual
Studio .NET)
12Identify a need
- Innovate on mobility as a key differentiator
- Reuse existing resources and technologies (simple
solutions may yet be very powerful) - Limit the service dependency service by service
approach
13Develop service
- Consider various PGW vendors for their support
in - Code libraries, Application Program Interfaces
(APIs) - Test tools, Simulators, Emulators
- Documentation, Guides, Trainers
- Parlay Standard compliance
- Partnership program availability
- Example applications
- Access to online forums and customer support
- Certification
- Access standard specifications and download IDL
(Parlay) or WSDL (Parlay X) files to generate
code stubs.
14Deploy
- To mass market and/or to target a specific PGW /
Operator - Network protocol considerations
- Visibility to the end user (how to promote
service) - Visibility for the developer (who are buying)
- Visibility for the operator / service enabler
(who are selling)
15A Parlay example - Foundation
- Know the possibilities
- Parlay User Interaction (SMS MMS)
- Parlay Mobility (User Location)
- Identify a need
- Hard to find somewhere to eat (mobility)
- Develop service
- Java development on Eclipse using the Ericsson
Network Resource Gateway Software Development
Kit. - Deploy
- Local Swedish operator agrees to become the
first offer customer.
16A Parlay example Use Case
- Sending SMS to a service number will return a MMS
with directions for the nearest restaurant that
matches the criteria of the search. User can then
optionally decide to call the restaurant to make
reservations.
17Parlay example Sequence
Consumer
Application
PGW
1. create notification
2. send sms
2. report notification
3. get user location
4. report user location
5. get info
5. send mms
6. receive mms
18Parlay example Patterns
GUI
IpApp_XX
Configuration
Main
IpApp_XX_Adapter
Feature
XX_Processor
Ip_XX
19Parlay example Structure
IpAppUIManager
_IpAppHosaUIManagerImplBase
SMSProcessor
GUI
-gui
-smsProcessor
-feature
-feature
Main
MMSProcessor
Feature
-mmsProcessor
-feature
-framework
-ulProcessor
LocationProcessor
Framework
ConnectionMgr
_IpAppUserLocationImplBase
_IpClientAPILevel AuthenticationImplBase
IpAppUserLocation
IpClientAPILevel Authentication
20Parlay Gateway Access
A P P
application server(s)
application
Parlay/OSA
P G W
service(s))
framework
service capability server(s)
SMPP
SMTP
PAP
MM7
N E T
WAP GW
MMC
SMSC
EMAIL
21Parlay Gateway Lifecycle
- Restaurant analogy
- Where do you want to eat? (IP on port?)
- Request menu (Get PGW services)
- Call on waiter (Chose service manager)
- Order food (Send service request)
- Receive food (Receive response)
- Eat food (Perform action on response)
- Start all over again (optional)
- Pay and leave (Dispose resources and disconnect)
Initialization phase
Execution phase
Termination phase
22Parlay example - Initialization
- Getting access to services
Application
Framework
1 initiateAuthentication
2 selectEncryptionMethod
3 authenticate
4 authenticationSucceeded
5 authenticate
6 authenticationSucceeded
7 requestAccess
8 obtainInterfaceWithCallback
9 obtainInterface
10 discoverService
11 selectService
12 initiateSignServiceAgreement
13 signServiceAgreement
14 signServiceAgreement
23Parlay example Execution
Application
PGW
1 createNotification
- Create notification
- Sending requests
2 reportNotification( )
3 extendedLocationReportReq( )
4 extendedLocationReportRes( )
5 hosaSendMessageReq( )
6 hosaSendMessageRes
24Parlay example Termination
- Disposing resources and ending access
Application
HosaUIService
Framework
1 destroyNotification
2 terminateServiceAgreement (HOSA UI)
3 terminateServiceAgreement (UL)
4 endAccess
25Develop service Test and Verification
- Many tools available from many different vendors
- PGW Simulators
- Network simulators
- Example applications
- Programmer Guides
- Demonstrational tools
- Code libraries / Utility classes
- Test labs
- Meetings and Seminars
- Web based forums / Mailing lists
- Partnership programs
26Tools available from Ericsson
- Ericsson Network Resource Gateway Software
Development Kit - http//www.ericsson.com/mobilityworld/sub/open/tec
hnologies/parlay/index.html - Includes
- Parlay Simulator with integrated Network
Simulator - Automated Test Tool
- Example applications for various Parlay services
- API libraries
- Standards and Specifications
- Forum
- Ericsson Partnership Program
27Demo of the example application
28Deployment
The Internet (potentially unsafe)
Operator Domain (safe)
Trusted Applications
Parlay/OSA
Firewall
Third Party Applications
In house Applications
PGW
Parlay/OSA
Parlay/OSA
GSM
IP
GPRS
29Summorization
- Market is still growing for services and it is a
huge market. - Parlay adds a new dimension of mobility to
application development new and exiting
possibilities! - Learning what the Parlay services are about is
the first threshold to overcome (join this
afternoon session!). - Pick an choose tools from many vendors.
- Any software developer can start making Parlay
applications today!
30(No Transcript)
31PARLAY PARLAY X BENEFITS
Part One General Parlay / Parlay X benefits
32Agenda Parlay and Parlay X benefits
- IT and Telecom
- Some background
- Current problem
- Parlay and Parlay X as solutions
- Cross dependencies between the players in the
telecom industry - The importance of cooperation
- Some roles at a glance
- Application Developer definition and key
benefits - Network Operator definition and key benefits
- Service Provider definition and key benefits
- End User (Consumer) definition and key benefits
- Summarization
33IT and Telecom
- Traditionally two very different kinds of beast
- Many standards and rapid changes
- More and more going through the same wire
- TV
- WWW
- Telephony
- All in one approach wanted by the consumer
- Richer services, more personalized and
interactive - Easy for the consumer, complex for the developer
- Higher development costs since more complex
systems - Overlap between old and new systems
34Application environment
Applications ApplicationsServers
- Availability of different interfaces (versions)
on the AS - Multiple integration
- Hard to reuse
- Expensive maintenance and updates
SMPP
PAP
SMTP
MM7
SMS-C
WAP GW
MMC
Email Server
35Application environment
Applications ApplicationsServers
SMPP
PAP
SMTP
MM7
MMC
SMS-C
WAP GW
Email Server
36Benefit for the whole industry
- Public interface to access the telecom network
resources (availability) - Any IT application on any telecom network
(portability) - Off-the-shelves market
- computer components (ATX standard) analogy
- batteries analogy
- Definition of roles and business processes ? Key
actor specialization
37Cross dependencies
clear requirements
Parlay / Parlay X
Application Developer
Service Provider
enhanced services
easier implementation
loyalty
easier maintenance
increased traffic
richer services
Network operator
Consumer
cheaper traffic
LESS TEAMWORK LESS BENEFIT
38Application Developer
- Definition
- Software oriented innovator and creator of stable
and easy manageable services for the telecom
community - Rights
- Limit requirement scope together with Service the
Provider and decide technology consideration
together with the Network Operator. - Responsibilities
- Must verify and test implementation as agreed
with the Service Provider and Network Operator
39Application Developer
- Parlay / Parlay X benefits
- Simple
- Effortless startup - easy to learn!
- Notifications, Requests and Responses
- No need for telecom specific knowledge
- CAPv2, CAPv3, CS1, CS1, SIP are available only
for voice communication - Learn one! Thats enough!
- Similar pattern for all Parlay and Parlay X
services - Shared common data (TpAddress)
- Common programming language of choice
- IDL/WSDL generation
- Less code easier debugging
- Full set APIs, Utility classes simplify
reoccurring events
40Application Developer
- Parlay / Parlay X benefits
- Powerful
- Access to capabilities new to the IT industry
- positioning
- availability / access
- Wide variety of intuitive mappings towards
available telecom services - Location, Status, Messaging, Voice, Charging
- Stable
- Create once, run anywhere
- Isolation from network changes
- Farewell spaghetti code!
41Application Developer
- Parlay / Parlay X benefits
- Revolutionizes the developer possibilities
- Less operator dependency
- Free market, everyones invited!
- Free development tools small risks low costs!
- Possible to develop a new service for your mobile
phone within days instead of weeks - True integration of IT and Telecom
42Network Operator
- Definition
- Infrastructure oriented enabler of stable and
accessible services for the telecom community - Rights
- Determine access distributed in the system
- Runtime and maintenance considerations
- Responsibilities
- Authorization, Availability, Authentication
43Network Operator
- Parlay / Parlay X benefits
- Popular services increase traffic
- Increased traffic equals higher revenues
- Easier maintenance with presumably fewer bugs
- Statistical information of the traffic
- Simple control over network resources
44Service Provider
- Definition
- Market analyzer close to the telecom service
consumer - Rights
- Decides requirements together with the
Application Developer and the Network Operator - To receive fully tested and verified service
solutions that are persistently available to the
consumer - Responsibilities
- Discover needs and foresee future expectations
45Service Provider
- Parlay / Parlay X benefits
- Less development costs
- Faster time to market
- New types of services, increased level of
interaction - New markets
- Increased customer loyalty
- Business monitoring and surveillance through
statistics - Business rules (load etc.)
46Consumer
- Definition
- User of the telecom system, predominantly
uninterested in the technology and implementation
specifics - Rights
- Stable and accessible services at justified
prices - Responsibilities
- Financier of the telecom network system
maintenance, operating costs and research and
development.
47Consumer
- Parlay / Parlay X benefits
- Timelier deliveries
- World Cup in football
- Fuller range of personalized services
- Richer, more satisfying experience
- Cheaper services (??)
48Summarization
- An off-the-shelves solution makes common sense!
- Need for a teamwork understanding of the telecom
industry - Definition of once role(s) is the first step to
become true specialists in a certain area too
broad scope may slow down progress - Lot of benefits throughout the telecom community
biggest risk is that networks will not open up - Parlay is the standard to make this happen
49(No Transcript)
50PARLAY PARLAY X BENEFITS
Part Two Parlay and Parlay X at a comparison
51Agenda Parlay and Parlay X overview
- Web Services
- Fitting Parlay X into the picture
- Technologies overview
- Comparison between Parlay and Parlay X
- Simple working example
- Summarization
52Web Services
- Web services, in the general meaning of the term,
are services offered by one application to other
applications via the World Wide Web. - Clients of these services can aggregate them to
form an end-user application, enable business
transactions, or create new Web services. - In a typical Web services scenario, a business
application sends a request to a service at a
given URL using the SOAP protocol over HTTP. The
service receives the request, processes it, and
returns a response.
53Web Services
- Web services are software components that
- Are described and found using XML technologies
- Can be accessed with standards-based internet
protocols - HTTP
- HTTPS
- SMTP
- Exchange XML-formatted data
- Client and service may be implemented with
different languages on different hardware and
software platforms
54Web Service technologies
- Accessing Web Services SOAP (XML)
- Describing Web Services WSDL
- Publishing Web Services UDDI
Web Services vs. CORBA
- Web Service
- WSDL
- SOAP
- UDDI
- CORBA
- IDL
- IIOP
- Name Server
55XML
- Language for defining structured data
- Example...
ltcustomergt ltfirstnamegtJohanlt/firstnamegt
ltlastnamegtSvenssonlt/lastnamegt
ltbirthdaygt1967-04-09lt/birthdaygt lt/customergt
56SOAP
- Simple Object Access Protocol
- XML-based message format
- Defines a message between the sender and an
ultimate receiver - possibly via intermediaries
- Envelope
- Header
- Body
- Headers can be targeted at certain intermediaries
- The SOAP message transfer is done by another
underlying protocol. HTTP is standardized but
SMTP and other are possible
57SOAP the envelope metaphor
Functional aspects
SOAP
- -- --- - -- - -- - -- -- -- - -- -- -- --- -- --
-- -- ---- - -- - Send MMS to User X
- -- --- - -- - -- - -- -- -- - -- -- -- --- -- --
- -- -- ---- - -
Ericsson
Application
Msg 12 TransId 352
To Vodafone From Yahoo Verified by Verisign
Approved by User X
Authentication Authorization Confidentiality Integ
rity Privacy Transaction (Coordinated) Reliable
Maybe payments?
Non-functional aspects
58SOAP
SOAP Envelope
SOAP Header
Information individually targeted for
intermediaries and end points
SOAP Body
Information for the ultimate receiver
59WSDL
- Web Service Description Language
- Describes what a service does
- Available operations
- Input and output messages
- How a service is accessed
- Data encoding format
- Protocols supported
- Where a service is located
- Service endpoint URL
- In our case the Parlay X WSDLs are standardized
and downloadable from internet (e.g.
www.parlay.org)
60UDDI
- Universal Description, Discovery and Integration
- Registry for businesses and their Web Services
- Name of business
- Contact information
- Type of business
- Interfaces (WSDL)
- Access information (URL)
61Parlay X
- A set of simple Web Services
- Simple and high level access to widely used
telecom functions - Aimed at Web developers
- Leading to
- A principle Keep Interface Specifications Simple
- Limited sets of building blocks for web
developers
Number of developers
Thousands
Parlay-X
Parlay/OSA
Hundreds
Voice data protocols
Network detail
62Parlay overview
A P P
application server(s)
application
Parlay/OSA
P G W
service(s))
framework
service capability server(s)
SMPP
SMTP
PAP
MM7
N E T
WAP GW
MMC
SMSC
EMAIL
63Parlay X overview
W E B
application server(s)
application
Parlay X
A P P
application server(s)
application
Parlay/OSA
P G W
service(s))
framework
service capability server(s)
SMPP
SMTP
PAP
MM7
N E T
WAP GW
MMC
SMSC
EMAIL
64Parlay and Parlay X compared
- Parlay
- More complex
- More complete functionality
- CORBA based
- Publish/Find via Parlay Framework
- SLA/Policy negotiation via Parlay Framework
- Authentication via Parlay Framework
- Parlay X
- Simple
- Limited functionality
- Web Services based
- Publish/Find via UDDI Industry standard
- SLA/Policy negotiation via local bind process
(not the same level) - Authentication via WS-Security
65Parlay application development and execution
Web Services (Parlay and Parlay X)
Parlay
Java/J2EE IDE
Java IDE
Application Developer
Parlay X WSDL
Parlay SDK
Service Provider and/or Network Operator
Java Application
Java Application
Parlay SDK
JRE
JRE
ORB
SOAP, RMI
CORBA
Network Operator
Parlay
Parlay X
Parlay Gateway
66A Parlay X example
SmsSender
SmsSender
WSDL Stub
Sao Paulo / Brazil
JRE
x2
Send SMS
SOAP / HTTP
193.180.251.1257001
Send
Parlay
Parlay X
Network
OK
Parlay Gateway
Stockholm / Sweden
67A Parlay X example
- Send SMS message
- Find the appropriate WSDL file(s)
(http//www.parlay.org) - Find a suitable WSDL compiler for the programming
language of choice (http//ws.apache.org/axis/) - Compile the WSDL files to get the stubs and
interfaces needed to create the SOAP message - Make certain that proper security credentials are
added as SOAP message headers (operator specific) - Use a URL to identify where the service is
located - Invoke the service interface method to send the
SOAP message
68Parlay X benefits
- No need to authenticate all requests towards the
PGW - Simplified, more abstract less detailed
- Easy popular functions (good enough)
- Targets web based applications and Web Services
- Easy network configurations (http posts)
- Good tools available for WSDL stub generation
(AXIS or JWSDP)
69Summarization
- Parlay X services are Web Service components sent
by SOAP calls defined by WSDL usually over HTTP - Main benefits are the simplification of access
and authorization - Component based programming
- Much of the implementation is done by the WSDL
compiler that generate stubs to use in your code - Parlay X makes network resource access faster and
simpler than ever before!
70(No Transcript)
71PARLAY PARLAY X DEVELOPMENT TRAINING
Part One
72Preparation
- Copy the parlay_training_course.zip file onto
your computer - Unzip it to any location without spaces in the
path (C\Documents and Settings should be
avoided!) Preferably use something similar to
c\parlay - Disable any firewall currently active on your
laptop as it might disallow certain ports to be
used
73How to work with this package
- Use runEclipse to start the Eclipse IDE.
- In Eclipse there are several projects, either for
Parlay or Parlay X that will illustrate a certain
feature of the standard. - Each exercise has a solution. Use the solution to
compare your results but try your best before
doing so. - Each exercise will take about 30 minutes. (Some
less some more). First there will be an
introduction and last will be a summarization of
the intended solution.
74How to work with this package
- Use runSimulator to start the Ericsson Network
Resource Gateway Simulator, this will act as a
PGW, phones and a network emulator on your local
laptop. - The Simulator needs to be running in order for
the Parlay applications to work. - In order to run the Parlay X applications you
need to have an Internet access.
75Pattern
GUI
IpApp_XX
Configuration
Main
IpApp_XX_Adapter
Feature
XX_Processor
Ip_XX
76General sequence Start Notification
77General sequence Stop Notification
78Exercise one
- List all available services at this PGW
- Get access to the PGW framework
- Get a list of all services
- Connect to each service
- Disconnect from all services
- Illustrates Framework access and service
retrieving
79Exercise one
80Exercise one
- Make sure that the Simulator is running and that
you have started Eclipse - In Eclipse right click on Parlay_Exercises and
select Open Project - Sort the tasks at the bottom of the screen after
their folder name and double click on the first
one named TODO close the framework
communication - Your task is now to fill in the blanks in the
code, you may need to shift between Problems and
Tasks to correct all blanks for an assignment. - After filling all the gaps in the code, right
click on the assignments Main class and choose
Run as?Application to run the application. - Populate the Simulator with the right phones and
follow the instructions that show in the
application window.
81Exercise two
- Create an application that sends SMS messages
towards a certain number. - Illustrates SendMessageReq, SendMessageRes and
SendMessageErr
82Exercise two
83Exercise three
- Finish the application that receives a SMS from a
specified friend and converts it into an MMS
before sending it onwards to the destination. - Illustrates Create Notification, report
notification, sending MMS MIME messages
84Exercise three
85Exercise three
86Exercise four
- Finish an application that tracks two terminals
each other second. When the terminals are within
a specified distance send SMSs to them both to
indicate that the friend is close by. - Illustrates extendedLocationReportReq
87Exercise five
- Finish the application that upon changing the
status of the terminal starts listening for
incoming calls. If a call is made to a terminal
that is switched off a SMS will be generated
indicating that a call was missed. - Illustrates triggeredUserStatus
88Exercise six
- Finish the application that acts as a redirection
service. When calling the service number a
message is played and the user is prompted to
choose a destination. When typing in the
destination the caller is redirected. - Illustrates Multiparty Call Control and User
Interaction
89What Are Legs Calls ?
90What Are Network Initiated Calls?
91What Are Application Initiated Calls?
92Exercise six
93Exercise six
94Parlay X exercise
- Complete the SimpleLogoSender, SimpleMessageSender
and SimpleRingtoneSender by completing the
following steps - Create URL to identify the service
- Create a locator specifically for this service
- Retrieve the SMS service
- Add security header information
- Invoke the desired method on the remote service
- Optionally get extra information from the
returned correlator
95Parlay X development for Java
- Download and install Java
- http//java.sun.com/downloads/
- Decide service
- Download involved service WSDL files
- http//www.parlay.org/en/specifications/
- http//www.3gpp.org/ftp/Specs/html-info/29-series.
htm - Generate client side stubs from WSDL
- http//ws.apache.org/axis/java/user-guide.html
- http//java.sun.com/webservices/downloads/webservi
cespack.html - Develop application on top of stubs
- http//www.eclipse.org/downloads/
- http//www.netbeans.org/downloads/
- Compile and package
- Deploy
- Test and Verify
96(No Transcript)