Introduction To Tizen And Tizen Mobile Architecture

15 downloads 222 Views 3MB Size Report
May 9, 2012 - Input … Web application. Native application. Web API. Runtime. Core. Tizen Web. API. Plug-in. Installer.
Introduction to Tizen and Tizen Mobile Architecture Seokjae Jeong, Samsung Electronics

Agenda Tizen Introduction Tizen Architecture Overview Tizen Core Services

2

Tizen Introduction

3

What is Tizen*? (Pronounced Tie Zen) Tizen* combines the communities and the best technologies under one unified environment

Strong developer community Broad service provider support

4

Tizen* is a trademark of the Linux Foundation

NEW

Key Tizen™ Highlights • Tizen is a cross-architecture, open source software platform • Comprehensive standards-based HTML5 implementation • Linux Foundation project based on Linux & other open source components • Device segments: Smartphones, Tablets, Netbooks, Invehicle infotainment devices, Smart TVs, and more.

• Tizen Association: an industry consortium consisting – Key service providers – Device manufacturers and Intel Tizen Association Members

5

Operators

OEMs

Tizen Release • Open Source Release – Tizen Alpha, Beta: ‘12.1.9, ‘12.2.27 – Tizen 1.0 Larkspur: ’12.4.30 ※

Tizen Larkspur scope – Platform Source Code: Web API, Core Services (Frameworks), Linux Kernel – SDK: Web App. Dev. Env. (Host OS: MS-Windows, Ubuntu Linux) Tizen SW Platform

6

Tizen SDK

Tizen Developer Conference • https://www.tizen.org/conference • The first annual Tizen conference – Hyatt in SF, CA, May 7-9th, 2012 • Four keynotes • Forty seven technical presentations – About Tizen Platform and SDK – On-line slides along with video or audio streaming • Tizen Developer Contest (~Aug. 7, 2012) – https://www.tizen.org/blogs/jabancroft/2012/announcing-tizendeveloper-contest-intel • Remembrances – Tizen reference device distribution by LF. – Offsite party at The California Academy of Science. 7

Tizen Roadmap • Tizen 1.0 Larkspur (Apr. 30, 2012) • Tizen 2.0 Magnolia (End of 2012) – Native APIs, more Web APIs, Security Enhancements, etc.

8

Tizen Open Source Information • Visit – http://www.tizen.org – http://developer.tizen.org/sdk – http://source.tizen.org/ – https://developer.tizen.org/documentation • Community – Mailing lists: http://www.tizen.org/community/mailing-lists – IRC Channel: #tizen – Wiki: https://www.tizen.org/community/wiki – JIRA: http://bugs.tizen.org

9

Tizen Architecture Overview

10

Tizen SW Architecture (for Mobile)

11

Kernel and Hardware Adaption Features:  Linux Kernel  Device Drivers  Hardware Adaptation Layer  Plug-ins  OpenGL ES/EGL Graphics Driver  DRM based graphics stack

Kernel / HW Adaptation Layer HAL (HW Adaptation Layer) Telephony Plug-ins

GStreamer Plug-ins

Kernel2.6.xx

12

Sensor Plug-ins

SMACK

System Plug-ins

OpenGL ES/EGL Graphics Driver

Device Drivers

Tizen Core Services (Mobile) Core Services App FW

System

Messaging

AppLife Cycle Mgmt (app-core)

System (system-server)

SMS (msg-service)

App Launch (AUL, app-service)

Sensor (sensor-fw, plugin)

MMS (msg-service)

Package Mgmt (slp-pkgmgr)

Power Mgmt (libslp-pm)

Base IPC (D-Bus) Database (SQLite) Essentials (glibc, …)

Graphics & Input 2D (EFL, cairo) 3D (OpenGL ES/EGL) Window Mgmt (e17)

Web

13

Layout & Rendering (WebKit)

Window System (X11)

JS Engine (JavaScriptCore)

Font (Fontconfig, freetype2)

Runtime (WRT)

ISF, Voice FW (isf, ise, STT, TTS, plugin)

Email (email-service)

Telephony Cellular (telephony-daemon)

PIM

Security

Contacts (contacts-serrvice)

Access Control (Smack)

Calendar (slp-calendar)

Certification (cert-svc)

Account (accounts-svc)

Secure Storage (secure-storage)

Synchronization (sync-fw, plugin)

Crypto (OpenSSL)

Location

Connectivity

Multimedia

Geolocation (Geoclue, plugin)

Connection (ConnMan)

Video (Gstreamer, plugin)

Geocoding (Geoclue, plugin)

Bluetooth (Bluez)

Audio (GStreamer, PulseAudio)

MAP (Geoclue, plugin)

HTTP (libsoup,libcurl)

Camera (GStreamer)

Route (Geoclue, plugin)

NFC (nfc-manager, plugin)

POI (Geoclue, plugin)

Wi-Fi (wpa_supplicant)

Audio Policy (audio-session-manager) 3D Audio (OpenAL)

Tizen Applications Web Application  Web is the primary application development environment for Tizen  SDK is available for Web App development  Commercial grade Sample Apps will be available soon Native Application  Available for device implementers through components in Core Service Web application Native application

Web API

Core Services Web Runtime Core

Tizen Web API Plug-in

Java Script Core

14

WebKit

Installer Core

App Security Core

App FW

MM

Conn

Location

PIM

Telephony

System

Graphics & Input



Tizen Web Application Web Application Fundamental  W3C/HTML5 Base  Device integrated API support  jQuery Mobile based UI Widgets Device API  Access to the platform capabilities  Support Features: BT/NFC/System Info./App Management etc.  Additional APIs will be added in the future e.g. Accounts, Automotive

15

Tizen Web APIs and WebApp Development Sakari Poussa, Intel & Taehee Lee, Samsung

Tizen Web API Standard HTML5 + Tizen Device API https://developer.tizen.org/documentation

Web API Device API

W3C

Miscellaneous

Application

HTML 5

Web GL

Network & Comm

WebRTC

Storage

Typed Array

NFC

CSS3

Bluetooth

Geolocation

Web Worker

Full Screen API

Media Contents

Touch Event

WebAudio

Metatag

PIM

Battery Status

WebSocket

JSON

File

Web Notification

URI Scheme

System Info File System



App Cache



Widget

Index DB



※ Tizen WebAPIs are not forking W3C APIs! 16

Tizen Core Services

17

An Overview of the Tizen Application Framework Youngjoo Park, Samsung

Application Framework Provides  Launching Application (aul, app-svc) •

   

Explicit or implicit information (Combination of Action, URI, and MIME) can be used to determine an app to launch Allowed to launch different type of app (i.e. Web to Native and Native to Web)

• Application life cycle management and handling system events (app-core) • Getting app state change notification or system events through main loop • Then, calling registered callbacks for the events Installing/Uninstalling application (package manager) • AUL : Application Utility Library Managing application launched history (librua) • RUA : Recently Used Application Setting an alarm to launch at specific time (alarm-manager) Application Framework App-core AUL

Application DB

18

Launch PAD (AUL Daemon)

VCONF

RUA

packagemanager

alarmmanager

Appservice

AIL

Overview of Graphics and Input in Tizen Seokjae Jeong, Samsung

Graphics & Input Consists of:  Enlightenment Foundation Libraries

• Rich Widgets multiple theme supports by Elementary • Retained mode canvas by Evas (Scene-graph, OpenGL ES back-end) • Compositing Window Manager Tizen Graphics Core –  Window System based on X11 The Scenegraph (Evas) Carsten Haitzler,  3D (OpenGL ES), Font (freetype2, fontconfig) Samsung  Input Service (SCIM), Voice FW (STT, TTS), Graphics & Input elementary ecore edje

Input Svc

evas eet

eina

freetype2

fontconfig

cairo

X Window System

19

OpenGL ES/EGL

Voice FW

Tizen Web Runtime Ming Jin, Samsung

Web

WebKit & WebKit2 /EFL Ming Jin, Samsung

Provides:  Best Web experience with Browser and packaged Web Apps •

• •

Focusing on functionality(HTML5), performance (UI Responsiveness, 2D/3D Acceleration, JS Engine), Standard Compliance(W3C) More device feature accessibility through Tizen Device API jQuery Mobile based Tizen Web UI FW enables easy Web App development

Consists of:  WebVeiw (WebKit /EFL): JavaScriptCore, WebCore(HTML5/W3C API implementation), WebKit API  Web Runtime: Execution environment for packaged Web Apps

Web Web Runtime Installer Core

JavaScriptCore

20

Tizen Web API Plug-in

Runtime Core

WebCore

WebView (WebKit)

Platform Port (Graphics, Network)

Security Core

WebKit API

Multimedia (1/2) Provides:  Playback of audio and video contents (local and streaming)  Capturing images and recording audio and video  3D Audio Sound (OpenAL) specially for games  Scanning & Playback of radio  Determining audio policy  Extracting and displaying media content information Features:  High Quality Video Playback • Full HD(1080P) Playback (with HW codec & Render Optimization) • Support for various kind of Multimedia Streaming (HTTP, RTP/RTSP) • Support for HTML5 Video and embedded playback in Web Browser  High Quality & High Speed Camera/Recorder • High Quality Image Capture & Video Recording • Support for various kind of shooting mode (single,continuous,paronama,etc)

21

Multimedia (2/2) Key Components:  GStreamer: Audio, Video, Recording, Streaming, Editing, Etc  Audio Session Manager: Sound Policy Management  PulseAudio: Software mixing multiple audio streams  Multiple-Format Codec: Various support of codec  Media Content Service: Content management for media files  Audio I/O: Accessing raw audio buffer to manipulate Multimedia Player

Recorder

Camera

Sound Manager

GStreamer

Audio IO

Radio

Audio Session Manager

Metadata Retriever

Image Utility

FFmpeg

Image Codec

Plug-in

Codec/Demux

File System

22

PulseAudio

Connectivity

ALSA

Graphics

Media Content Service

DRM

… Plug-in Drivers

Overview of Tizen Location Young-Ae Kang, Jongman Park, Samsung

Location

Provides:  Hybrid position information (GPS, SPS, WPS)  Map Service (Geocode, POI, Route) Key Components:  GeoClue: Deliver location info from various positioning sources • • •

GeoClue library: An open source geo-information library GeoClue Providers: Implement the GeoClue library API Currently GPS Manager in GeoClue Providers is provided

Location Hybrid Positioning GPS

SPS

WPS

Plug-in

Plug-in

Plug-in

GeoClue Library

Map Service Geocode

POI Plug-in

Route

Map View (Elementary)

GeoClue Providers GPSManager Plug-in

23

System Provides:  System monitoring and event handling functionalities Key components:  System Manager • •

Runs as a daemon process Monitors device and system status and handles events from devices (battery, USB, MMC, charger, earjack, etc)

 Sensor Manager: Handling sensor events from various sensors  Device Manager: Setting/getting device values such as brightness  Power Manager: Controls LCD display backlight and application sleep

System System Manager

Sensor Manager Plug-in

Kernel

24

Power Manager

Device Manager

Connectivity Cellular and Wi-Fi Connection  “Always-on” internet connections based on cellular(e.g.3G) and Wi-Fi .  connman manages internet connections • Allowing automatic connection for available Wi-Fi access point  Managing statistics of data network

Bluetooth  Based on Bluez and profiles (OPP, A2DP, RFCOMM, HFP, HDP, etc)  Discovering / bonding / exchanging data with remote devices Tethering  Providing three type of tethering : USB, Bluetooth and Wi-Fi NFC  Including NFC Manager to handling NFC plug-ins  Supporting P2P, Controlling NDEF tag, car emulator Wi-Fi  Scanning and connecting Access Points  Connecting hidden Access Points 25

Overview of Tizen Telephony Jongman Park, Samsung

Telephony

Consists of cellular functionalities for communicating with modem:  Managing call/non-call info, packet-related services, network status information, SMS-related services for UMTS and CDMA  Managing SIM Application Toolkit services for UMTS.  Managing SIM files, phone book, and security

Key Components:  TAPI is available as a library for client  Defining a plug-in architecture for Telephony Server Telephony Event Delivery IPC

TAPI

Security

Telephony Server Plug-in Telephony Adaptation Layer

3GPP (Modem)

26

CDMA (Modem)

PIM Provides: Contact, Calendar, Account, and Sync Services Key Components:  Account: Manage accounts to share account information on the device  Contact/Calendar: • Account based, Multiple address/calendar books for an account. • Enough features to satisfy mobile contact/calendar app requirements. • Supporting vCard 3.0 and vCalendar 1.0 respectively  Synchronization (Sync-FW)

PIM

27

Contact

Calendar

Account

Contact Manager

Event Manager

Account Manager

Address Book Manager

To-do Manager

Token Manager

vCard Converter

Calendar Book Manager

Notification Manager

vCal Converter

Call Log Manager

Notification Manager

Synchronization Sync-FW Plug-in

Messaging Provides: SMS, MMS, Email  SMS, WAP and cell broadcast messages  MMS protocols: OMA MMS 1.2.  Email protocols: SMTP, IMAP, POP3 Key Components  Message Client API  Message Server • • • •

Transaction Manager: Manage IPC between message server and library Main Handlers: Handle message sending/receiving/filtering/setting. Storage Handlers: Save on DB Plug-in Manager: Manage SMS and MMS Plug-ins

Messaging Transaction Manager Message API Library

Main Handlers Plug-in Manager SMS Plug-in

28

MMS Plug-in

Storage Handler

Tizen Security Framework Overview Bumjin Im, Samsung & Ryan Ware, Intel

Security Provides:  Certificate management and  

verification Secure storage for confidential data User space access control management Cryptography and SSL support Mandatory access control support

  Security model:  No root applications/No privilege

escalation  Sandboxed by SMACK  Service daemons will make use of SMACK and enforce access control in server side  Manifest based permission policy for Apps 29

Application Process

Security Service Daemon Secure Storage

OpenSSL Security Server

Kernel SMACK

Hands-On Lab : Getting Started with the Tizen SDK

SDK

30

Development Tool: SDK IDE  Competitive editor for HTML, CSS, JavaScript  Wizard and various templates: basic, jQuery mobile based, Tizen Web UI FW based, and HTML5 boiler plate  Debugging support: JavaScript console, log view, inspectors

31

Development Tool: SDK

Design and Implementation of Tizen Emulator Yeongkyoon Lee, S-Core

Emulator  Various Device Emulation based on open source QEMU  H/W Acceleration on Host PC (OpenGL ES, EvasGL, WebGL, Etc)  Event Injector for Sensors, Call/SMS, LBS, Etc Emulator IDE Emulator Manager

Event Injector

32

Development Tool: SDK Web Debugging  Remote Inspector (Webkit Inspector)  Local Inspector (Firebug)

33

Development Tool: SDK Where to find Documents in SDK  Tizen IDE  Help  Help Contents

Find Web Device API & Tutorials and We UI FW Guides on the site

34

Q&A