OSA/PARLAY TRAINING SESSION

Slides:



Advertisements
Similar presentations
Oct, 26 th, 2010 OGF 30, NSI-WG: Network Service Interface working group Web Services Overview Web Services for NSI protocol implementation
Advertisements

18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Overview Environment for Internet database connectivity
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Facts about Welcome to this video from Ozeki. In this video I will present what makes Ozeki Phone System XE the Worlds best on-site software PBX for Windows.
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Tuesday, June 10, 2003 Web Services Brief Overview & Security Assertion Coordinator Pattern by Mohammad Abushadi & Riaz Ahmed for Security Group CSE -
31242/32549 Advanced Internet Programming Advanced Java Programming
Executional Architecture
LeadManager™- Internet Marketing Lead Management Solution May, 2009.
Presentation 7 part 2: SOAP & WSDL.
COM vs. CORBA.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Presentation 10 SOAP on the Microsoft Platform (.NET)
General introduction to Web services and an implementation example
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
WEB SERVICES DAVIDE ZERBINO.
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Slide 1 EE557: Server-Side Development Lecturer: David Molloy Room: XG19 Mondays 10am-1pm Notes:
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Installing software on personal computer
CS 415 N-Tier Application Development By Umair Ashraf July 6,2013 National University of Computer and Emerging Sciences Lecture # 9 Introduction to Web.
Managing Client Access
IT 210 The Internet & World Wide Web introduction.
Web Services (Part 1) Service-Oriented Architecture Overview ITEC 625 Web Development Fall 2006 Reference: Web Services and Service-Oriented Architectures.
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
Network Resource Gateway (NRG) Application DevelopmentDSLD Unit Florin van Slingerland Rev A Slide 1 Application Development Presentation/Course Teaser.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Web Services An introduction for eWiSACWIS May 2008.
1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
© Copyright 2007 Arbinet-thexchange, Inc. All Rights Reserved. Voice Peering Steve Heap Chief Technology Officer.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Computer Emergency Notification System (CENS)
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
XML and Web Services (II/2546)
T Research Seminar on Telecommuncations Business II - Unified Interfaces for Messaging Services 1 T Research Seminar on Telecommuncations.
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Ericsson IMS CANTO 2005, St. Kitts Antonio Gómez Business Unit Systems.
FriendFinder Location-aware social networking on mobile phones.
Slide title In CAPITALS 50 pt Slide subtitle 32 pt Ambient Networks Media Delivery in the 3GPP Framework Author: Outi Koski Supervisor: Heikki Hämmäinen.
IPS Infrastructure Technological Overview of Work Done.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
A service Oriented Architecture & Web Service Technology.
Introducing the Windows Mobile development
Sabri Kızanlık Ural Emekçi
Outline SOAP and Web Services in relation to Distributed Objects
Outline SOAP and Web Services in relation to Distributed Objects
WEB API.
Presentation transcript:

OSA/PARLAY TRAINING SESSION Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 OSA/PARLAY TRAINING SESSION Mårten Lundgren M.Sc System Developer Service Layer Development Ericsson AB marten.lundgren@ericsson.com Ericsson AB 2006

The overall agenda Morning Afternoon 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.

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 OSA/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 Ericsson AB 2006

Some service examples… Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Some service examples… Ÿ Logos ¯ Ringtones ® Televoting µ Image sharing ^ Blogging * Voicemail ” Conference Calls U Alarms L Lookups æ Service Ordering …etc Ericsson AB 2006

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Market 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] Ericsson AB 2006

Market potential Forecast split of mobile service revenue in Western Europe by broad service category, 2003–9 [Source: Analysys Research, 2004] 100% 90% 80% 70% Mobile content 60% Other non-voice 50% 40% Voice 30% 20% 10% 0% 2003 2004 2005 2006 2007 2008 2009

Motivation – Why get involved? Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Motivation – 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. Getting access to the bank in the middle of the night in a taxi from the airport. With mobility comes new needs and new opportunities Mobility adds a new dimension for service creation! Ericsson AB 2006

How to create the next killer service? Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 How 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 technology Develop service Identify need Know the possibilities Ericsson AB 2006

Know the possibilities Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Know 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) Framework How applications authenticate themselves to the network How applications discover what facilities are available from the network Fault management Call Control - Generic, Multi-party, Conference, & Multi-media How applications set up calls in the network How applications set up multi-party (conference) calls in the network How applications are used to route calls from the network, e.g. so that an enterprise application can manage call diversions for an employee How applications can set up multi-media calls Mobility (Location) How applications find the location of a terminal How applications request notifications when terminals change location Terminal Capabilities How applications find out the features of the terminal Data Session Control How applications manage data sessions initiated from terminals Typically used for GPRS (and other 2.5G) applications Generic Messaging How applications interact with messaging systems, such as voice, FAX or email Connectivity Manager How applications manage Quality of Service (QoS) and the configuration of Virtual Private Networks (VPNs) Account Management How applications query accounts and charge history Charging How applications request payment for services (“content-based charging”) How applications reserve payment for a future service Presence and Availability Management How applications manage presence “I am at my computer” / “I am away” and availability “I am in a meeting” / “I am available to be contacted” Typically used in Instant Messaging types of applications and their extension to wireless networks Policy Management How applications interact with policy-enabled networks Ericsson AB 2006

Know 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)

Know 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)

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Identify 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 Ericsson AB 2006

Develop 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.

Deploy 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)

A 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.

A 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.

Parlay example – Sequence Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Parlay example – Sequence Consumer PGW Application 1. create notification 2. send sms 2. report notification 3. get user location 4. report user location 5. get info Access and authentication not shown Managers and callbacks Asynchronous communication 5. send mms 6. receive mms Ericsson AB 2006

Parlay example – Patterns Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Parlay example – Patterns GUI IpApp_XX Configuration Main IpApp_XX_Adapter Feature XX_Processor • Main — Initializes, starts, stops and terminates the example application. Initializing — refers to the process of reading configuration, showing the GUI, etc. Starting and Stopping — refer to the process of initiating and terminating execution of the feature logic (the H-OSA interaction). Terminating — refers to the process of closing the GUI and exiting the example application. Configuration — provides the example application with configuration data. It defines which parameters exist and how the configuration file should be parsed. GUI — provides a simple graphical user interface. The GUI is a window that contains an area for showing e.g. a description of the example application, and an area that holds buttons such as a button to start the example application. Feature — implements the logic (i.e. the functional behavior) of the example application. It uses an FWproxy class to obtain (and release) the service managers from the NRG that are used by the processors. YY_Processor — interacts with the NRG. It shields the Feature class from H-OSA details that are not relevant for the example application logic. It uses a service manager (Ip_XX_Manager) to send requests to the NRG, and extends a service manager callback adapter (IpApp_XX_ManagerAdapter) to receive callback responses. Processors extend the callback adapter rather than implement a callback interface directly. As a result, each processor only needs to implement those callback methods that are relevant within the scope of the example application/processor. feature can have multiple processors (for example, the GroupSMS example application uses a processor for determining whether or not a subscriber’s phone is reachable, but also a processor for receiving and sending SMS Ip_XX Ericsson AB 2006

Parlay example – Structure IpAppUIManager _IpAppHosaUIManagerImplBase GUI SMSProcessor -gui -smsProcessor -feature Main -feature Feature MMSProcessor -mmsProcessor -feature -framework -ulProcessor LocationProcessor ConnectionMgr Framework _IpAppUserLocationImplBase _IpClientAPILevel AuthenticationImplBase IpClientAPILevel Authentication IpAppUserLocation

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Parlay Gateway Access A P application server(s) application 1 4 5(+) Parlay/OSA P G W 2 3 6(+) service(s)) framework service capability server(s) Application registers with the framework and provides authentication and requested service id Once the application is authorized the framework will contact the service and retrieve the service manage together with the SLA information. The service crates a SLA manager for the application. The service returns a manager reference that the application may use The Framework returns the service manager to the application The application now starts communication directly to the application. The framework is only contacted again for service termination. MM7 PAP SMPP SMTP N E T WAP GW MMC SMSC EMAIL Ericsson AB 2006

Parlay 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

Parlay example - Initialization Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Parlay example - Initialization Getting access to services Application Framework 1: initiateAuthentication 2: selectEncryptionMethod 3: authenticate 4: authenticationSucceeded 5: authenticate 6: authenticationSucceeded Application initiates authentication on frameworks public interface application provides what encryption it supports application request the framework to answer a challenge to authenticate it self application signals that the authentication succeeded the application and framework exchange challenges and responses to authenticate each other framework signals that it authenticated application the application request the framework for a access interface _ In this third step the application requests for a service that matches its needs by tuning the service properties This method is used by the client application to identify the service that the client application wishes to use. If the client application is not allowed to access the service, then the P_SERVICE_ACCESS_DENIED exception is thrown. application requests to start the SLA signing application is requested to sign the “contract” to use the service the framework is also requested to sign the “contract” now approved by the application 7: requestAccess 8: obtainInterfaceWithCallback 9: obtainInterface 10: discoverService 11: selectService 12: initiateSignServiceAgreement 13: signServiceAgreement 14: signServiceAgreement Ericsson AB 2006

Parlay example – Execution Application PGW 1: createNotification Create notification Sending requests 2: reportNotification( ) 3: extendedLocationReportReq( ) 4: extendedLocationReportRes( ) 5: hosaSendMessageReq( ) 6: hosaSendMessageRes

Parlay example – Termination Disposing resources and ending access Application HosaUIService Framework 1: destroyNotification 2: terminateServiceAgreement (HOSA UI) 3: terminateServiceAgreement (UL) 4: endAccess

Develop 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

Tools available from Ericsson Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Tools available from Ericsson Ericsson Network Resource Gateway Software Development Kit http://www.ericsson.com/mobilityworld/sub/open/technologies/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 Ericsson AB 2006

Demo of the example application

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Deployment Operator Domain (safe) The Internet (potentially unsafe) Trusted Applications Parlay/OSA Firewall Third Party Applications “In house” Applications PGW Parlay/OSA Parlay/OSA This presentation is a teaser for the Network Resource Gateway (NRG) Application Development Course LZU1086271. For more information or for booking this course, please visit the following website: http://www.ericsson.com/ie/training/courses/courses.shtml GSM IP GPRS Ericsson AB 2006

Summorization 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!

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Ericsson AB 2006

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 PARLAY & PARLAY X BENEFITS Part One: General Parlay / Parlay X benefits Ericsson AB 2006

Agenda Parlay and Parlay X benefits Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Agenda 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 Ericsson AB 2006

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 IT 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 Calculator to Skype, Phone to Calculator Ericsson AB 2006

Application environment Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Application environment Applications Applications Servers Availability of different interfaces (versions) on the AS Multiple integration Hard to reuse Expensive maintenance and updates This presentation is a teaser for the Network Resource Gateway (NRG) Application Development Course LZU1086271. For more information or for booking this course, please visit the following website: http://www.ericsson.com/ie/training/courses/courses.shtml SMPP PAP SMTP MM7 SMS-C MMC WAP GW Email Server Ericsson AB 2006

Application environment Applications Applications Servers Parlay Availability of different interfaces (versions) on the AS Multiple integration Hard to reuse Expensive maintenance and updates PGW SMPP PAP SMTP MM7 SMS-C MMC WAP GW Email Server

Benefit 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

Cross dependencies Parlay / Parlay X Application Developer 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

Application 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

Application 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! That’s 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 API’s, Utility classes simplify reoccurring events

Application 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!

Application Developer Parlay / Parlay X benefits Revolutionizes the developer possibilities Less operator dependency Free market, everyone’s 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

Network Operator Definition Rights Responsibilities 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

Network 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

Service Provider Definition Rights Responsibilities 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

Service 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.)

Consumer Definition Rights Responsibilities 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.

Consumer Parlay / Parlay X benefits Timelier deliveries World Cup in football Fuller range of personalized services Richer, more satisfying experience Cheaper services (??)

Summarization 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

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Ericsson AB 2006

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 PARLAY & PARLAY X BENEFITS Part Two: Parlay and Parlay X at a comparison Ericsson AB 2006

Agenda Parlay and Parlay X overview Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Agenda 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 Ericsson AB 2006

Web 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.

Web 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

Web 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

XML Language for defining structured data Example... <customer> <firstname>Johan</firstname> <lastname>Svensson</lastname> <birthday>1967-04-09</birthday> </customer>

SOAP 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

SOAP – the envelope metaphor Functional aspects SOAP -- --- - -- - -- - -- -- -- - -- -- -- --- -- -- -- -- ---- - -- Send MMS to User X -- --- - -- - -- - -- -- -- - -- -- -- --- -- -- - -- -- ---- - - Application Ericsson 1 Euro Send request Receive request Receive letter (Platform) Read letter (Application) Post letter Write letter Msg: 1:2 TransId: 352 To: Vodafone From: Yahoo Verified by: Verisign Approved by: User X Authentication Authorization Confidentiality Integrity Privacy Transaction (Coordinated) Reliable … Maybe payments? Non-functional aspects

SOAP Message structure SOAP Envelope SOAP Header SOAP Body Information individually targeted for intermediaries and end points SOAP Body Information for the ultimate receiver

WSDL 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)

UDDI 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)

Parlay 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 Voice & data protocols Hundreds Network detail

Parlay overview A P P G W N E T Parlay/OSA WAP GW MMC SMSC EMAIL application server(s) application Parlay/OSA P G W service(s)) framework service capability server(s) MM7 PAP SMPP SMTP N E T WAP GW MMC SMSC EMAIL

Parlay X overview W E B A P P G W N E T Parlay X Parlay/OSA WAP GW MMC application server(s) application 5(+) Parlay X A P application server(s) application 1 4 6(+) Parlay/OSA P G W 2 3 7(+) service(s)) framework service capability server(s) MM7 PAP SMPP SMTP N E T WAP GW MMC SMSC EMAIL

Parlay and Parlay X compared 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

Web Services (Parlay and Parlay X) Parlay application development and execution Parlay Web Services (Parlay and Parlay X) Java IDE Java/J2EE IDE Application Developer + + Parlay SDK Parlay X WSDL 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

A Parlay X example Sao Paulo / Brazil Network Stockholm / Sweden SmsSender SmsSender WSDL Stub Sao Paulo / Brazil JRE x2 Send SMS SOAP / HTTP 193.180.251.125:7001 Send Parlay Network Parlay X OK Parlay Gateway Stockholm / Sweden

A 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

Parlay 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)

Summarization 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!

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Ericsson AB 2006

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 PARLAY & PARLAY X DEVELOPMENT TRAINING Part One Ericsson AB 2006

Preparation 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

How 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.

How 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.

Pattern GUI IpApp_XX Configuration Main IpApp_XX_Adapter Feature XX_Processor Ip_XX

General sequence – Start Notification

General sequence – Stop Notification

Exercise 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

Exercise one

Exercise 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.

Exercise two Create an application that sends SMS messages towards a certain number. Illustrates: SendMessageReq, SendMessageRes and SendMessageErr

Exercise two

Exercise 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

Exercise three

Exercise three

Exercise 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

Exercise 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

Exercise 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

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 What Are Legs & Calls ? Speech Marie John Network Incomming Leg Outgoing leg Call Object This presentation is a teaser for the Network Resource Gateway (NRG) Application Development Course LZU1086271. For more information or for booking this course, please visit the following website: http://www.ericsson.com/ie/training/courses/courses.shtml Ericsson AB 2006

What Are Network Initiated Calls? Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 What Are Network Initiated Calls? Application Marie John 3 2 1 Network 4 This presentation is a teaser for the Network Resource Gateway (NRG) Application Development Course LZU1086271. For more information or for booking this course, please visit the following website: http://www.ericsson.com/ie/training/courses/courses.shtml Ericsson AB 2006

What Are Application Initiated Calls? Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 What Are Application Initiated Calls? Application 1 3 Network 2 4 This presentation is a teaser for the Network Resource Gateway (NRG) Application Development Course LZU1086271. For more information or for booking this course, please visit the following website: http://www.ericsson.com/ie/training/courses/courses.shtml Marie John Ericsson AB 2006

Exercise six

Exercise six

Parlay 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

Parlay 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/webservicespack.html Develop application on top of stubs http://www.eclipse.org/downloads/ http://www.netbeans.org/downloads/ Compile and package Deploy Test and Verify

Sao Paulo ICT-OSA/Parlay Workshop 2006 2006-03-08 Ericsson AB 2006