44
2005. 01. 27 최 영일 ([email protected]) 광대역통합망연구단 Web Services 기반의 개방형 서비스 API 기술 ”Opening Up Networks with API”

Web Services 기반의 개방형서비스 API 기술mmlab.snu.ac.kr/links/hsn/workshop/hsn2005/document/session6/6_2.pdf · Multimedia Messaging 멀티미디어메시지(MMS) 송수신

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

2005. 01. 27

최영일 ([email protected])

광대역통합망연구단

Web Services 기반의개방형서비스 API 기술”Opening Up Networks with API”

2

Contents

▣ Introduction▣Open Service Architecture▣Web Services▣Web Services 기반의 Open 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 전자신문]

4

Evolution of Telecommunication Networks

[출처: Ericsson Review No.3, 2000]

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

응 용 서 버 서 비 스생 성 환 경

네 트 워 크서 버

네 트 워 크서 버

13

Standardization

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

18

Comparison (2/3)

▣Program Complexity : Parlay X API vs. Parlay/OSA API

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

33

Service Example - Call by Name

▣통신망의메시지기능및호제어기능을서비스사업자의데이터베이스와결합한서비스

34

Service Example - Phone Page

▣ Phone Page -이동단말에서볼수있는홈페이지▣통화연결전후및통화중에도이동단말로 Phone Page를검색할수있는서비스

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 과정을 제공

44

Conclusion

▣Communications Landscape Is Changing◈Open API is an emerging Technology Standards that facilitate

the convergence of the IT and Telecom communities

▣Are You Ready ?

W e b Ser v i ces

Open API