Web Services 기반의 개방형서비스 API...
Transcript of Web Services 기반의 개방형서비스 API...
2005. 01. 27
최영일 ([email protected])
광대역통합망연구단
Web Services 기반의개방형서비스 API 기술”Opening Up Networks with API”
3
Introduction
▣ IT Future Trend : “Business + IT”◈ IT 기술동향
반도체, 스토리지분야의나노기술Ubiquitous Networking - RFID, Sensor 기술
◈이런기술로무엇을할것인가 ?단순히신제품, 신기술을하는것이아니라, 기술과지식을응용해새롭고더나은방식으로 Business를수행할수있도록해야함기업의성패는고객의요구와 Business 환경의변화에신속하고유연하게대응하는능력에달려있음 (“On Demand”)
◈Business와정보기술의융합이를위해서는 IT 인프라의독창적활용으로비용절감을이루고, 혁신적인제품과서비스를개발하는것이필수적임
특정산업의 Trend는물론 Business 운영방식에대해서도폭넓게이해해야함
[출처: IBM 연구 소장 폴 혼, 2005-01-06 전자신문]
5
Trend of Evolution in Telecom
▣Network Architecture◈Convergence
toward an IP-based core network and ubiquitous seamless access (2G, 3G, broadband, broadcast, etc.)
▣Switching System Architecture◈Softswitch
Control logic and switching or forwarding functionality is divisible
▣Service Architecture ◈Open Service Architecture
Services functions are separated from transport functions
6
Why NGN ?
▣For realizing economic benefits◈which result from the flexible support of a full range of
network services using multiple infrastructure technologies▣For rapid creation and deployment of new network
services◈Future revenues are dependent on packages of services
which are attractive to specific markets (enterprise, consumer)
7
What is the best way ?
▣Open Service Architecture ◈Motivation
The traditional telecommunication environments have some limitations in the areas of service portability and fast service deployment
◈Basic IdeaBy “opening up” the networks through a set of open, standardised interfaces that enables network operator and 3rd party applications to make use of network functionality
8
Paradigm Shift in Service Development Architecture
▣Moving stepwise Service Intelligence out of the network!
Applications Enterprise Domain
Internet
Open APINetwork
Independent
Switches
Service Control Point
Application Server
VendorIndependentCall Forwarding
Wake-up> 3 years
080 Numbers평생번호1 ~ 2 years
Click-to-dialWeb Applications2 ~ 3 months
80’s
90’s
Now
Open APIGateway
INAP
INAP MAP, CAP
MAP, CAP
Fixed Mobile
9
Open Service Architecture
▣The aim of OSA is to provide a standardised interface◈ that enables applications implementing the services to make use
of network functionality◈upon which service developers can rely when designing new
services (or enhancements/variants of already existing ones)
10
Why Open API ?
▣Applications can be network independent◈ “buy once, run anywhere”
▣Applications can be developed and deployed by 3rd parties (creative, new innovative services)
▣Applications can be combination of different capabilities and enterprise data with network functionality
▣Shorter TTM (Time to Market) for applications / services due to abstraction and open technology
▣Flexibility of business model◈ applications can run inside the network, they can be
hosted in an internet data center by an ASP, or they can run in the enterprise
11
Business Model (1/2)
▣Network Operator ◈ Retailer of Services for specific markets
Provider of Killer Environment (not Killer Application)
Source: incomit, 12th Parlay Meeting, May 2004
12
Business Model (2/2)
▣Network Operator ◈Provider of Network Capabilities
Not as provider of Connectivity for Contents ProviderEnabling 3rd Party Service Provider Model
망 사 업 자
O p e n A P I
O p e n A P I서 비 스 게 이 트 웨 이
유 선 ·무 선 ·방 송 액 세 스 망
타 망 사 업 자
제 3 서 비 스 제 공 자
E n te rp r is e
데 이 터베 이 스
사 내 응 용 서 버S ig n a lin g
&C o n tro l
응 용 서 버 서 비 스생 성 환 경
네 트 워 크서 버
네 트 워 크서 버
망 사 업 자
O p e n A P I
O p e n A P I서 비 스 게 이 트 웨 이
유 선 ·무 선 ·방 송 액 세 스 망
타 망 사 업 자
제 3 서 비 스 제 공 자
E n te rp r is e
데 이 터베 이 스
사 내 응 용 서 버S ig n a lin g
&C o n tro l
응 용 서 버 서 비 스생 성 환 경
네 트 워 크서 버
네 트 워 크서 버
14
Positioning of Open API in NGN (1/2)
S-CSCFS-CSCF
ServerSIP Application
Server
HSSHSS OSA servicecapability server
(SCS)
OSA serviceCapability Server
(SCS)
IM-SSFIM-SSF
Camel ServiceEnvironment
Camel ServiceEnvironment
OSAapplication
server
OSAApplication
Server
SIP
Diameter SIPSIP
CAPMAP
OSA API
SCIM
AS AS
Diameter
Camel ServiceEnvironment
HLR Camel ServiceEnvironment
Server
Camel ServiceEnvironmentMSC Server
MAP
▣Functional Architecture in 3GPP
15
Positioning of Open API in NGN (2/2)
▣Service Development Architecture in 3GPP◈Protocol Based
IN ArchitectureSIP
◈API BasedOSA APIParlay X Web Service for OSA
16
2 Types of Open API
Network Elements
Parlay Gateway
Parlay X Gateway
Parlay X APIs
Parlay/OSA APIs
Parlay XApplications
ParlayApplications
Network Protocols (e.g. SIP, INAP etc)
Increasingabstraction
17
Comparison (1/3)
▣ Service Developer◈Today, there are technologies at multiple levels of abstraction to
support creation of telecom-enabled applications
19
Comparison (3/3)
▣Program Complexity : Parlay X API vs. SIP Protocol
시그널링
미디어
Open APIGateway
SIP user1
createConference()
SIP Proxy 서버
Application Server
Media Server
INVITE user1INVITE user2
INVITE user3
INVITE user1INVITE user2
INVITE user3
SIP user2 SIP user3
Open API 응용
INVITE user1
SIP Proxy 서버
SIP Application Server
Media Server
INVITE user2
INVITE user3
INVITE user1INVITE user2
INVITE user3
SIP user1 SIP user2 SIP user3
SIP 응용
INVITE MSINVITE MS
createConference(userList){
i=0; userURI = getURI(userList, i++); // invite userfor (userURI != null){
msg = encode(INVITE, userURI);sendMsg(msg);do {
recvMsg(&msg);recvdMsg = decode(msg);
} while (recvdMsg==ProvResp);if (recvdMsg == FinalResp)
userSDP= getSDP(FinalResp);encode(INVITE, MSURI, userSDP);sendMsg(INVITE, MS_URI);do {
recvMsg(&msg);recvdMsg = decode(msg);} while (recvdMsg==ProvResp);
if (recvdMsg == FinalResp)msSDP = getSDP(FinalResp);
else …msg = encode(ACK, user1URI,
msSDP);sendMsg(msg);
}else ..
userURI = getURI(userList, i++);} //for
} //createConference
// conference callconfService = new CallManager.mmcWeb.MultimediaConferenceImplService();
try{
confServiceResponse = confService.createConference(null,
“seminrar1, null, -1, 4, null);}catch (Exception ex){… }
for (int i=0; I<user.count(); i++){
confService.intiveParticipant(confServiceResponse, user.getNext());..}
20
Parlay X - Web Service for Telecom
▣There is a requirement to publish the capabilities of the network for developers
▣There is a demand for enterprise applications to exploit the capabilities of the telecom network
▣Web Services is a key development technology▣Web Services open up thousands of existing
applications◈Gives access to any application with a web services interface◈Very appropriate for enterprise applications
Applications have huge revenue potential◈Makes telecoms applications “web developer friendly”
21
Why Web Services ? (1/2)
▣E-Business Evolution◈Business Drivers for SOA (Service Oriented Architecture)
The need for integration between applications in different business domains
22
Why Web Services ? (2/2)
▣ Application Integration and Architecture - Hype Cycle (Gartner)
Agent-Based Integration
Technology Trigger
Peak of Inflated Expectations
Trough of Disillusionment
Slope of Enlightenment
Plateau of Productivity
Maturity
Visibility
As of June 2004
Advanced Web
Services
Application Platform Suites
B2B Gateways
Basic Web
Services
Business ProcessExecutionLanguage
BPM Suites
Business Activity Monitoring
Business Process Analysis
Business Process Management
Business Process Networks
Business Rule Engines
Complex Business Events
Composite Application
s
Distributed Shared Memory Platforms
Enterprise Information Integration
Enterprise Service Bus
Enterprise Architecture Tools
Integration Metadata Management
Integration Registries
Integration Service Providers
Integration Suites
J2EE Connector Architecture
Message-Oriented
Middleware
Metadata Management
Microsoft .NET
Application Platform
Mobile Middleware
Open Source J2EE
Portal Products
Presentation Integration Servers
Programmatic Integration
Servers
Service-Oriented Architecture
Vocabulary-Based Transformation
Web ServicesApplication
Management
Web Services Controllers
XML Data Integration Servers
J2EE
Less than two years
Two to five years
Five to 10 years
More than 10 years
Key: Time to Plateau
23
What is Web Services ? (1/2)
▣An implementation of Service-Oriented Architecture◈Provide a common standard interface allowing user experience
to be delivered in any language or to any platform
ApplicationApplication
• User interface• Executable program• Scheduled Execution• Business logic• Procedures
DataAccess
DataSQL
DatabaseXML Flat
File
ServiceService
• Messaging• Interface description• Publish and Find
Data Access
DataSQL
DatabaseXML Flat
File
Common Standard
Business Logic
Autonomous
Autonomous
SystemsSystems
Standards
Standards
conforming
conforming
24
What is Web Services ? (2/2)
▣ Definition◈ interface that describes a collection of operations that are accessible on
the network (e.g., Internet or Intranet) through standardized messaging mechanisms
Business logic and data aggregated as a unit▣Web Services Architecture ◈Roles, operations, technologies
Service Broker
Service Provider
Service Providers (eg an Airline) describes a service using WSDL (web service description language) and publishes the description in a public registry (eg a UDDI server)
A user of the service (typically an application) finds a suitable service by sending a query to a public registry
and then binds to that service so that the client application can use it
Service Requester
25
NGN Application Development
▣Approach◈Primitives exposed as Web Services◈Assemble primitives into reusable building blocks◈Off-the shelf Components easily integrated to Customer’s
“Business Logic”
26
Web Services in Telecommunications
▣Standardization◈Parlay Group / ETSI / 3GPP
Parlay X Web Services (V 2.0, Sept. 2004)– They are intended to stimulate the development of new
telecom applications by providing a standardized set of Web Services, which can be used by IT developers without telecom experience.
◈OMA◈PayCircle◈Microsoft and Vodafone
to help create mobile Web services standards that will enable new business opportunities for application developers and mobile network operators and deliver new integrated services for customers across fixed (wired) and wireless networks. (Announced at Oct. 13, 2003)
27
Parlay X Web Service - V.2.0 (1/2)
SCF 기능 가능한응용서비스
Third Party Call 제 3자가양자간의호를제어 Click to dial (컴퓨터 어플리케이션에서 발신/착신 번호를 입력하여통화하는 서비스)
Call Notification 통신망의단말에서부터발생한호를응용서버측으로알려주는기능
부재 중/통화 중 착신 통보 서비스 (무응답이나 통화중으로 걸려오는전화는 못 받은 경우, SMS 등의 방법으로 통보하는 서비스
Short Messaging 단문문자메시지 (SMS) 송수신 일기 예보 서비스 (등록해놓은 특정 지역의 날씨 정보를 단문 문자메시지를 통하여 전송해주는 서비스)
Multimedia Messaging 멀티미디어메시지(MMS) 송수신 맞춤형 알림 서비스 (주식 시세 등과 같이 실시간으로 변동되는정보들을 멀티미디어 메시지를 사용하여 제공해 주는 서비스)
Payment 데이터의볼륨또는금액별과금 VoD서비스 (멀티미디어스트리밍서비스에대한과금, 예약, 환불등을제공하는기능을수행)
Account management 과금관련된계정관리 Pre-paid telephony (선불형전화계정생성과충전을위한계정관리서비스)
Terminal Status 단말의상태를파악 친구 찾기 서비스 (등록된 친구 중 통화가 가능한 친구를 찾아연결해주는 서비스)
Terminal Location 단말의위치를파악 택시찾기서비스 (이동단말을통하여현재위치에서가장가까이있는택시를검색하고호출하는서비스)
Call Handling 호수용및차단기능 호차단/허용서비스 (발신번호에따라호를허용하거나안내방송송출등을통한차단서비스)
Audio Call TTS 및 VoiceXML처리 SMS Text to speech (시각 장애인을 위해 SMS로 수신된 메시지를음성으로 변환하여 송출하는 서비스)
Multimedia Conference
멀티미디어회의생성및관리 Click to conference (회의참가자들을 입력하고 클릭하여 회의를시작하거나 종료할 수 있는 서비스)
Address List Management
주소개별및그룹관리 Multicast streaming 서비스 (케이블방송과같이그룹에따라서로다른방송컨텐츠를제공해주는서비스)
Presence 프레즌스정보관리 E-businesscard (전자명함에기재되어있는단말의상태정보를실시간으로변경/획득할수있고, 현재가용한통신단말과호연결)
28
Parlay X Web Service - V.2.0 (2/2)
SCF APIs
Third Party Call MakeCall(), GetCallInformation(), EndCall(), CancelCall
Call Notification HandleBusy(), HandleNotReachable(), HandleNoAnswer(), HandleCalledNumber(), NotifyBusy(), NotifyNotReachable(), NotifyNoAnswer(), NotifyCalledNumber()
Short Messaging SendSms(), SendSmsLogo(), SendSmsRingtone(), GetDeliveryStatus(), NotifySmsReception(), GetReceivedSms()
Multimedia Messaging SendMessage(), GetMessageDeliveryStatus(), GetReceivedMessages(), GetMessageURIs(), GetMessage(), NotifyMessageReception()
Payment ChargeAmount(), RefundAmount(), ChargeVolume(), GetAmount(), RefundVolume(), ReserveAmount(), ReserveAdditionalAmount(), ChargeReservation(), ReleaseReservation(), GetAmount(), ReserveVolume(), ReserveAdditionalVolume(), ChargeReservation(), ReleaseReservation()
Account management GetBalance(), GetCreditExpiryData(), BalanceUpdate(), VoucherUpdate(), GetHistory()
Terminal Status getStatus(), getStatusForGroup(), startNotification(), endNotification(), statusNotification(), statusError(), statusEnd()
Terminal Location getLocation(), getTerminalDistance(), getLocationForGroup(), startGeographicalNotification(), startperiodicNotification(), endNotification(), locationNotification(), locationError(), locationEnd()
Call Handling SetRules(), SerRulesForGroup(), GetRules(), ClearRules()
Audio Call playTextMessage(), playAudioMessage(), playVoiceXmlMessage(), getMessageStatus(), endMessage()
Multimedia Conference createConference(), getConferenceInfo(), endConference(), inviteParticipant(), disconnectParticipant(), getParticipantInfo(), getParticipant(), addMediaForParticipant(), deleteMediaForParticipant()
Address List Management createGroup(), deleteGroup(), queryGroups(), setAccess(), queryAccess(), addMember(), addMembers(), deleteMember(), deleteMembers(), queryMembers(), addGroupAttribute(), deleteGroupAttribute(), queryGroupAttributes(), addGroupMemberAttribute(), deleteGroupMemberAttribute(), queryGroupMemberAttributes(), addMemberAttribute(), queryMemberAttributes(), deleteMemberAttribute(),
Presence subscribePresence(), getUserPresence(), startPresenceNotification(), endPresenceNotification(), statusChanged(), statusEnd(), notifySubscription(), subscriptionEnded(), publish(), getOpenSubscritptions(), updateSubscriptionAuthorization(), getMyWatchers(), getSubscribedAttributes(), blockSubscription
29
Third Party Call
▣ For creating and managing a call initiated by an application◈To provide functions to application developers to create a call in a
simple way▣ API (Sample)◈MakeCall
Input
Output
Part name Part type Description
CallIdentifier xsd:string It identifies a specific call request
Part name Part type Description
CallingParty xsd:anyURI It contains the address of the first user involved in the call
CalledParty xsd:anyURI It contains the address of the second user involved in the call
Charging common:ChargingInformation Charge to apply to the call (optional)
30
Third Party Call Scenario
▣Click to Call Service
Network
UserProfile
Stock quotesWeb Service
3PC-XWeb Service
IDC
SCS-CC
SD
8000HPJ4110A
ProCurve
MSC……..getStockQuotes()………….
RetrieveuserProfile(user A,
user B)………..………..makeCall (user A,
user B)
Parlay X APIParlay API Parlay
Gateway
User A (broker) User B (customer)
1
2
3
4
5
Mobile network
31
Call Notification Scenario
▣ Service Numbers
handleCalledNumber{…getUserprofile (Jone);…Return Action (route, user A);}ㆍ ㆍ
Service NumbersWeb Service
Service NumbersWeb Service
Parlay XWeb ServiceParlay X
Web Service
Enterprise Network
Enterprise Enterprise NetworkNetwork
Parlay API
Parlay X I/F
User Profile
Mobile NetworkMobile NetworkMobile Network
MSCMSC
Receive CallAt any place
Call Jone(010-111-2222)
123
4
5
32
Multimedia Messaging Scenario
Network
UserProfile
Stock quotesWeb Service
Multimedia MessageWeb Service
IDC
MMS-C
……..Content1 = getStockQuote()………….Retrieveuser Profile………..messageId = snedMessage(content)……status = getMessageDeliverySratus(messageId)...if...Content2 = get StockQuote 0messageId = sendMesage(content2)
Parlay X I/FParlay API Parlay
Gateway
1
2
3
4
5
Mobile network
6
MM7 Interface
35
Service Example - Converged Services for Business Customers
▣ Integration of telephony services with PIM applications▣메신저등개인정보관리응용소프트웨어와통신망기능이결합된서비스
36
Service Example - Personal Notification Service
▣주식, 날씨, 기념일등과같이개인의관심정보를등록하고, 원하는조건과시점에 다양한수단을통해정보를제공받을수있는서비스
37
Service Example - Prepaid Contents Service
▣인터넷페이지에서다운받거나, 스트리밍받은컨텐츠에대한요금을망사업자가운용하는 Prepaid 계정에서결재되도록하는서비스
38
Service Example - iLocator
▣Location-based Track & Alert◈Allows tracking of people / events /
enterprises and displays their positions◈People: maintains a buddy list and
automatically informs about buddies entering or leaving a defined radius around the current user location
E.g., let me know when a friend is within 50 km from meOr, when my kid moves more than 10 km away
◈Events: Let me know if there is a concert / sale / traffic-jam near me
◈Enterprises: Display all the gas stations or restaurants in my vicinity
39
IT839에서의활용방안
광가입자망광대역 무선랜차세대 모바일
통합단말
개방형서비스 게이트웨이
유선, 무선, 방송, 통합 망
차량 정보 센터 정보 제공 업체
다양한 융합 서비스
Potal
무선 Access 망
가입자 차량
방송망
▣Home Network 서비스및 Telematics서비스개발에적용
40
Announced Open API Products (2004/11)
NetworkSecurityBoundary
Parlay/OSA APIs
NetworkElements
EnterpriseDomain
ServiceProviderDomain
SCP
Internet
Managed IP Network
NetworkElements
MobileNetwork
Hosted ApplicationServer
ApplicationServer
Router
HLR
Intranet
Firewall
ParlayGateway
Parlay/OSAGateway
PSTN
NetworkElements
Parlay/OSA Applications
HostedApplication Svr
58
101
Platforms
Applications
79
238
기타
Source: Parlay Member Report, 13th Parlay Meeting, Nov. 2004
41
Announced Open API Products (2004/11)
Product Type NumberParlay/OSA Gateway 27Parlay/OSA Application 101
Application Server 20Development Environment / SCE 12Simulators and test tools 8
Developer Program 9Analyst Reports 4
Specialised SCS 3
22Other
Total 23819Courses and Events
Parlay-X Platforms 11
42
Public Deployments of Open API
사업자 시기 사용제품 내용
Telecom Italia 2002년 2월 Aepona/Ericsson Depoloyment
Telenor 2002년 2월 Net4Call Trial
Telesim 2002년 2월 Oksijen Commercial Deployment
BT 2002년 4월 Marconi Contract to deploy in 2003
Mobilkom Austria 2002년 6월 - Trial
NTT 2002년 7월 - Trial
O2(Germany) 2002년 7월 Redknee Commercial Deployment
Aviero (Portugal) 2002년 7월 Siemens/FOCUS UMTS Trial
Vodafone (Spain) 2002년 7월 Nortel UMTS Trial
KPN Carrier Services 2002년 10월 - Deployment
Meteor Communication 2002년 11월 jNETx Deployment
Telefonical Mobiles 2003년 3월 Lucent Trial
Hutchison CAT (Thailand) 2003년 4월 Kabira/Motorola Deployment
Spring 2003년 5월 Appium/Ericsson Trial
Hutchison 3G Australia, Aaustria, Denmark, Italy, Sweden
2003년 5월 Ericsson Deployment
Telmex 2003년 5월 Ericsson Deployment
KT 2003년 10월 Herit Deployment
France Telecom 2004년 5월 Orange Deployment
Colombia Mobiles 2004년 5월 Ericsson Commercial Deployment
eircom 2004년 6월 AePONA Deployment
Swiss Telecom 2004년 12월 Incomit Deployment
43
Open API SDK 현황
회사 SDK 이름 제공 API 개요
AePONA(http://www.aepona.com)
Causeway Application Software Development
Kit (SDK)
Parlay API 3.0
Parlay API 3.0,Parlay X 1.0
Parlay API 3.0 (OSA Release 4)
Parlay API 3.0, OSA Release 4
Parlay API 3.2 (OSA Release 4)
Parlay/OSA API
Parlay/OSA API
Parlay/OSA API
Parlay API 3.1
Causeway Parlay Client Proxy 기반의 Parlay Client Application 개발 툴킷
Appium(http://www.appium.com)
Appium Gbox Parlay/OSA APIs, Parlay X APIs 기반의Application Components를 빠르고 쉽게 개발할
수 있는 프레임워크를 제공
IBM(http://www.ibm.com)
WebSphere Toolkit Web 기반, Parlay API 기반의 Application 기능을 쉽게 개발 가능하게 하기 위한 툴킷
Incomit(http://www.incomit.com)
Movade Development Studio
Parlay/OSA API 중 Mobile 분야에 초점을맞추고 있음
Infitel(http://www.Infitel.com)
Universal Service Modeller InfiScript
Infitel의 Parlay/OSA Gateway, Application Server 등과 연동하여 Application 개발을 위한
통합 솔루션을 제공
jNETx(http://www.jNETx.com)
Application Designer Parlay/OSA API를 이용한 Network Application을 개발하는데 필요한 과정을 쉽게
하기 위한 S/W 툴킷
Lucent(http://www.Lucent.com)
MiLife SCE(ServiceCreation Environment)
Parlay/OSA 서비스를 개발하기 위한프로그래밍 환경을 제공
Ericsson(http://www.ericsson.com)
Parlay Simulator 개발된 Parlay/OSA Application의 Network Simulation을 제공하는 툴 킷
OpenAPISolutions(http://www.openapisoluti
ons.com)
Open API Solution Application Test
Suite(ATS)
Enterprise Operator나 gateway Operator에게Application을 실제 망에 투입하기 전 testing과
validating 과정을 제공