Embed
Email

All + All -

Document Sample

Shared by: xiang
Categories
Tags
Stats
views:
0
posted:
11/14/2011
language:
Hungarian
pages:
12
All + All -



1. Program verzió ( PDA )



 Tervezés

o Architektúra-terv









o Technológiák választása



Java:

A választott programozási nyelv a Java. A céleszközünkön futó Java Virtuális Gépről (Java

Virtual Machine, JVM) feltételezzük, hogy teljes támogatottságot biztosít a Java 1.3

használatához. A mobil eszközre való fejlesztést Az IBM Websphere Device Developer

programjával készítettem. A program lehetőséget biztosít arra, hogy különböző verziójú JVM-

ekre való kompatibilitással fordíthassuk le a fejlesztés alatt álló projektet, illetve le is

futtathatjuk egy beépített Mobile Profile emulátor segítségével.

Jini:



A jini technológia olyan szolgáltatás-orientált architektúra, amely egy programozási modellt

definiál (java technológiára alapul, és kiegészíti azt) melynek segítségével biztonságos elosztott

rendszereket építhetünk fel. Ezekben a rendszerekben jól meghatározott funkciókkal rendelkező

szolgáltatások, és a szolgáltatásokat felhasználó kliensek működnek együtt. Minden hálózat,

amely ilyen elemekből épül fel (szolgáltatások és azokat használó kliensek), menedzselhető (

felépíthető, karbantartható, illetve lebontható ) a Jini technológia felhasználásával. A

szolgáltatások lehetnek:



 Alkalmazások

 Operációs rendszerek

 Szerverek

 Eszközök

 Információs rendszerek

 Mobil készülékek

 Adattárak

 Nyomtatók és egyéb perifériák



A Jini biztosítja az infrastruktúrát annak érdekében, hogy ezek az összekötött szolgáltatások

továbbítódjanak a hálózaton, és arra, hogy a programok, amelyek felhasználják őket, egyszerű

és spontán módon kapcsolatba léphessenek egymással, függetlenül a programok a hardver-

illetve szoftver felépítésétől. Tehát leegyszerűsödik a szolgáltatás elérés, platform- és operációs

rendszer független lesz, az elérés feltétele nem függ a hálózat kiépítésének struktúrájától, a

hálózati összeköttetés fizikai távolságától, és szolgáltatást biztosító hoszt gép eszköz fizikai

mivoltától sem.

Másik nagy előny a Jini azon tulajdonsága, hogy a hálózati komunikáció részleteit teljes

mértékben elrejti a felhasználó elől. Leegyszerűsíti a hálózati architektúra fejlesztését, ugyanis

nem szükséges a hálózati protokoll minden egyes rétegét megvalósítanunk. Illetve mivel a Jini

protokoll-független, az egyes protokollok közti különbségeket nem nekünk kell lekezelni, arról a

proxy ( a részletes definíciót lásd a fejezet további részében ) gondoskodik.

Rendszerünk egyik alapvető tulajdonsága az, hogy vezeték nélküli hálózaton kommunikáló mobil

eszközök halmazából áll. Elvárt funkcionalitás az hogy ezek az eszközök szolgáltatás nyújtó

tulajdonsággal rendelkezzenek, és mint szolgáltatások, felfedezhetővé váljanak a többi kliens

számára, akik ugyancsak felfedezhetők. Ezen kívül a konferencia kivetítőjét is látniuk kell mint

szolgáltatást, hogy a prezentációhoz szükséges műveleteket intézhessenek felé. Az így kialakuló

szolgáltatás-hálózat spontán (Ad-hoc) jellegű, és időben korlátozott, az összejövetel idejére

szól. A Jini technológia mellett szól az a nagyon fontos tulajdonság, hogy ez a szolgáltatás-

felfedezés ( lookup ) és szolgáltatás regisztráció ( registration ) (ezek a kifejezések a fejezet

későbbi részében részletes kifejtésre kerülnek ) valós időben, azonnal, és teljesen

automatikusan, előzetes konfiguráció szükségessége nélkül történhet.



Jini technology delivers access to services over any network for any platform, any

operating system, any application — regardless of the network complexity, distance,

or host device. This means it provides an easy, simple, and fast way to interact with

services simply by locating them on a network, with no further action required by

the user.



Simplifies Network Design and Management

Another significant differentiator is Jini’s potential to eliminate the need to design

to each layer in a network, simplifying network design and management.

-----------------------



Jini.org



Jini™ technology is a service oriented architecture that defines a programming model which both exploits and

extends Java™ technology to enable the construction of secure, distributed systems consisting of federations of

well-behaved network services and clients. Jini technology can be used to build adaptive network systems that

are scalable, evolvable and flexible as typically required in dynamic computing environments.



Jini executive overview



The Internet is changing the way we do many things. But most importantly, it is

changing the concept of networks from multiple connected computers to connected

devices — including computers — that deliver smart Web services through the

network. Although Jini™ technology is not a Web service, it can communicate with,

or be used to build, Web services. Jini technology was developed to address an

important set of long-term problems that must be solved before generic Web services

can be transformed into the highly personalized, cross-network, intelligent services

that future systems will provide.

As the next level beyond network connectivity, Jini technology provides developers

with tools to construct systems from distributed objects over networks. It offers

a simple infrastructure for delivering services over the network and creating

spontaneous interaction between programs that use these services, regardless

of their hardware or software implementations.

Any type of network made up of services and clients of those services can be easily

assembled, disassembled, and maintained on the network using Jini technology.

Examples of services that can be utilized in this way are:

n Applications

n Operating systems

n Servers

n Devices

n Information systems

n Mobile appliances

n Storage

n Printers

Jini technology delivers access to services over any network for any platform, any

operating system, any application — regardless of the network complexity, distance,

or host device. This means it provides an easy, simple, and fast way to interact with

services simply by locating them on a network, with no further action required by

the user. Jini technology can be applied to any industry serving commercial,

government, community, and consumer markets.



Simplifies Network Design and Management

Another significant differentiator is Jini’s potential to eliminate the need to design

to each layer in a network, simplifying network design and management.



FIGURE 1 ISO Seven-Layer Model of Networks

7 Ð Applications (NFS, FTP, HTTP)

6 Ð Presentation (XDE, XML, ASCI, Java serialization)

5 Ð Session (Sun RPC, DCE RPC, IIOP, RMI)

4 Ð Transport (TCP, UDP)

3 Ð Network (IP)

2 Ð Data Link (wire formats for messages)

1 Ð Physical (wires, signaling)



Because Jini technology is protocol-independent, developers can design to the

interface, not to each protocol. Network application design doesn’t have to adjust

to changes in the protocols, because the proxies take care of that. Performance is a

factor of how efficiently the network is designed; Jini technology has no impact on it.

With Jini technology, developers can realize enormous benefits:



n Design to the interface

n Create applications and services that interact without preinstalled drivers

n Take advantage of Jini technology’s self-healing nature; no need to reconfigure

upon failure

n Clean up is automatic, so garbage collection is eliminated

n Pay only for services that are used

n Ensure that applications are always current, without downtime or upgrading

n Change vendors at any time

n Modify equipment configurations easily, including legacy hardware and software

Conclusion

Sun’s Jini technology provides open, end-to-end solutions for creating dynamically

networked products, services, and applications that scale from devices to the

enterprise. This technology enables developers, service providers, and content

creators to gain a competitive business advantage and capitalize on new revenue

streams, by rapidly and cost-effectively developing and deploying compelling new

applications and services for their customers worldwide. All of Sun’s technologies,

including Jini, are developed with industry collaboration, allowing more widespread

innovation and providing a standards-based platform.

Because Jini technology addresses problems that only some companies are

experiencing, the requirement for this technology is not always readily apparent.

For the increasing number of companies that are already hitting the problems of

scale, component integration, and ad-hoc networking, especially in the financial,

automotive, and telecommunications industries, Jini technology is the premier

solution available today.







IBM J9 VM is another mobile Java-based virtual

machine. This JVM was used as part of WebSphere

Studio Device Developer (WSDD), an IBM Integrated

Development Environment for mobile devices using

J2ME (Java 2 Micro edition). IBM J9 which supports

J2ME (CDC & CLDC, MIDP & Personal Profile), the

official cut down version of Suns Java. Unfortunately

J”ME is very limited and was again unsuitable for our

development needs.

4.3 Java for Mobile Devices

The Finesse Grid Services are developed and

deployed on Globus Toolkit (GT3.2) which is a Javabased

environment; therefore Java for mobile devices

appeared as a natural starting point for our

investigation. We tried several mobile JVMs (Java

Virtual Machine) on our IPAQ PPC looking for one

that could support a minimum set of APIs to invoke

GT3.2 Grid services. In this process, we looked at the

following JVMs for mobile devices:

EWE VM [20] is a free and open source Java-based

VM for mobile devices (mainly PDAs). It comes with

an SDK (Ewe SDK) and provides support for advanced

features such as Infra-red, Synchronisation, Swing or

applets but its API’s compatibility is limited to Java 1.1

and 1.2 as well as the discontinued Personal Java. This

compatibility issue made it impossible for us to use the

Ewe VM.

Cre-ME and CrEme are two Java-based virtual

machines from NSICOM [7]. The Cre-ME 4.0 VM is

compatible with the J2ME Connected Device

Configuration (CDC) 1.0 which is based on JDK 1.3.1;

whereas CrEme 3.25 is compliant with Sun’s Personal

Java, mainly based on JDK 1.1.8. These two virtual

machines are based on two separate subsets of Java,

neither of which supported enough of the Java API to

run a Globus client.

IBM J9 VM is another mobile Java-based virtual

machine. This JVM was used as part of WebSphere

Studio Device Developer (WSDD), an IBM Integrated

Development Environment for mobile devices using

J2ME (Java 2 Micro edition). IBM J9 which supports

J2ME (CDC & CLDC, MIDP & Personal Profile), the

official cut down version of Suns Java. Unfortunately

J”ME is very limited and was again unsuitable for our

development needs.

SuperWaba VM [6] is another Java-based VM for

mobile devices (PDAs and smart phones). It is part of

the SuperWaba open source platform which defines a

language, a virtual machine, a class file format and a

set of basic classes. It has an active community and

developers can use common Java IDEs, however it

does not implement the standard Java specification and

its API does not support Java packages. Therefore

SuperWaba could also not be used in our exercise to

develop a mobile Figs clients.

In the end none of these virtual machines could

support client APIs to invoke the FIGS directly from

our Pocket PDA because they are all running some cut

down version of the Java API. We have therefore

concluded that at the moment there is also no Javabased

OGSI implementation for mobile devices.

Table 1 summarises the compatibility specifications

for each of the JVMs.

JVM Compatibility

EWE VM Java 1.1,

Java1.2,

Personal Java

Cre-ME J2ME CDC 1.0

CeEme Personal Java,

JDK 1.1.8

SuperWaba JDK 1.1+

IBM J9 J2ME

Table 1: Mobile JVM compatibility









 platformfüggetlenség

 Java 1.3 kliens oldalon

 Java AWT

 Jini

 SOA megvalósíthatóság

 Automatikus valós idejű lookup és regisztration szolgáltatások számára

 Az alapja az Ad-hoc szolgáltatás hálózat felépülésének

 Tanszéki támogatottság

o + - A program követelmény-rendszere

 Funkcionális követelmények

 A konferencia résztvevői által futtatott alkalmazásnak (kliensprogram)

automatikousan, felhasználói interakció nélkül ki kell építenie a hálózati

kapcsolatot a szerverprogrammal (kivetítő oldali program)

 jini alapvető tulajdonsága, fel lehet használni a jini előnyeinél )



A kliensprogramnak képesnek kell lennie saját fájrenszerén található

képállományok továbbítására a szerverprogram felé, ottani megjelenítés céljából



A kliensprogram le tudja kérdezni a kivetítőn aktuálisan megjelenített képet, és

lokálisan megjeleníteni azt



A kliensprogram segítségével rajzolni tudunk az aktuálisan kivetített képre



 A helyi képünkön lévő rajzról kiszámítani a koordináta-arányokat , és

továbbítani azokat a server felé



A rajzolást valós időben kell végrehajtani



A konferencián használt "felhasználónév" megadása, és eltárolása, amely

láthatóvá válik a többi résztvevő számára



a Kliens maga is felfedezhetővé válik más kliensek által



Saját fájlrendszerből dokumentumok továbbítása a többi kliensnek



Szolgáltatások neveinek lekérdezése, és azoknak egy listában való megjelenítése



Kliens, mint "terminál" távoli fájlrendszerünk felé



Szerver követelmények



 Servernek, mint szolgáltatás, felfedezhetővé kell váljon kliensek felé



A server oldali programnak tudnia kell fogadni a kliensek által küldött

képeket, és meg kell tudnia jeleníteni őket



Rajz funkció



 A kliensek által küldött koordináta-arányok fogadása, illetve

átszámítása koordináta-értékekké, majd kirajzolni őket a

megjelenített képre



Kép kezelési funkciók



 A kép átméretezése teljes képernyőre



Kép megjelenítése valódi méretben

Kép mozgatása : Ha a kép nagyobb, mint

a megjeleníthető méret, és eredeti méretben

van (nincs átméretezve teljes képernyősre )



 Nem funkcionális követelmények

 Grafikus Felhasználói Felülettel kell hogy rendelkezzen /ÁTDOLGOZNI/

 Képes képeket megjeleníteni PDA fájlrendszer megadott könyvrvtárából

 Könyvtár váltható

 Képek kicsinyítése

 A kliensnek egy PDA programként kell futnia

 Tallózás a képek között

 Képek sorba állítása meghatározott tulajdonságok alapján

 Méret

 Típus

 Név

 Különböző nézetek támogatása

 Teljes képrnyős nézet

 Miniatűrök nézet

 A megjelenített képek többféle nagyságra való

skálázása

 Kicsi

 Közepes

 Menürendszer az elérhető funkciók kezeléséhez

 Menü a projektor-interakciókhoz

 Menü a kliens-interakciókhoz

 Menü a nézetek navigálásához

 A kliensprogram megállapítja a képernyő méretet

 A felhasználói felület méretét képernyő nagyságához igazítja

 A könyvtárban lévő képeket a rendszer automatikusan skálázza a

megállapított mérethez viszonyítva



Program alapfunkciók ismertetése:



Proxy fogalmának ismertetése



Szolgáltatás regisztráció ismertetése ( registration ):



A szolgáltatás, ahhoz hogy elérhető ( felfedezhető ) legyen, első feladata, hogy regisztrálja magát egy

úgynevezett lookup szolgáltatással ( lookup service / service locator ), amely egy szolgáltatás nyilvántartás.

Ebben a nyilvántartásban szerepel az összes szolgáltatás, és ennek a nyilvántatásban lehet keresni

szolgáltatásokat meghatározott attribútomok alapján. Ahhoz hogy be tudjon regisztrálni, a szolgáltatásnak

először fel kell derítenie egy, a hálózaton található lookup service –t. A felderítés kétfajta módon történhet. A

közös bennük az, hogy mindkét esetben a Jini a 4160-as TCP porton keresi a szolgáltatás-nyilvántartót. Az elsőt

akkor használjuk, ha ismert a lookup service elérési helye ( IP-cím ) a hálózaton, ennek a neve: unicast

discovery. Így a server direkt TCP hívással csatlakozni tud hozzá. A másik mód a multicast discovery,

ezesetben nem szükséges, hogy tudjuk a lookup service IP címét, a rendszer többesküldéses ( multicast ) UDP

üzenet formájában küldi szét a kérést a hálózaton, és az elérhető lookup service-ek ezt megkapják, és választ

küldenek a szervernek.



1.3. Service Registration

A service will actually be an object (or set of objects) which is living within a server. The server performs

various tasks on behalf of the service. The first stage is for the server to register the service with the lookup

service/service locator. In order to peform this registration, the server must first find a lookup service. This can

be done in two ways: if the location of the lookup service is known, then the server can use unicast TCP to

connect directly to it. If the location is not known, the server will make UDP multicast requests, and lookup

services will respond to these requests. Lookup services will be listening on port 4160 for both the unicast and

multicast requests. When the lookup service gets a request on this port, it sends an object back to the server.

This object, known as a registrar, acts as a proxy to the lookup service, and runs in the service's JVM (Java

Virtual Machine). Any requests that the server needs to make of the lookup service are made through this proxy

registrar. Any suitable protocol may be used to do this, but in practice the implementations that you get of the

lookup service (e.g from Sun) will probably use RMI.



What the server does with the registrar is to register the service with the lookup service. This involves taking a

copy of the service, and storing it on the lookup:









Figure 1.2: Querying for a service locator









Figure 1.3: Registrar returned

Figure 1.4: Service uploaded







Szolgáltatások felfedezésének ismertetése ( lookup )



o A Beamer Service ismertetése

 Felület bemutatása

 Funkciók

 Kép kivetítés

 Rajzolás

o A kliens program ismertetése

Szerepkörök és kapcsolatok rövid leírása:



 Nézetek

 Browser

 Full Screen

 Drawing

 Service List

 Funkciók ( Illusztráció UML diagramokkal )

 Send Image

 Show Image In Full Screen

 Draw To Image

 Send Document

o Interfész-struktúra előállítása,

beillesztése, magyarázatokkal

o Objektum - modellek és folyamatábrák UML diagramjai

 + - Implementálás és tesztelés

o + - Minden alfejezethez az alfejezethez szükséges

esetleges technológiai / programozástechnikai

ismeretek leírása a fejezet elején

 Alapvető programozási tudást feltételezünk,

csak az esetleges komplex,

vagy elsőre nem érthető dolgokra térünk ki



A fejlesztési folyamatot funkciók szerint

csoportosítsuk, vagy időrendi

sorrendben mutassuk be?



 + - Összegzés

o Összefoglalás

 + - Milyen környezetben ideális használni

 Kis létszámú meeting környezet

 Egyértelmű, hogy nem kell a biztonsággal foglalkozni, mert átlátható a

meeting, megbízható emberekből áll



Dokumentumok megosztása



Hozott dokumentumok spontán kivetítése, közben magyarázás



Esetleg rajzolás



 Konklúziók

 Előnyök és hibák elemzése

o Továbblépés az új verzióra

 Mlyen okokból

 Biztonsági alrendszer hiánya

 Integrálhatóság a JGrid rendszerbe

 Laptopok kis teljesítményű gépek, kis kijelzők, Wireless hálózat hátrányai



Other docs by xiang
[.PPT] Esfahan.ppt - PowerPoint Presentation
Views: 257  |  Downloads: 1
SO_RAL_Low_Sodium
Views: 0  |  Downloads: 0
Early Signs and Symptoms
Views: 1  |  Downloads: 0
Lecture 5 - PowerPoint Presentat
Views: 5  |  Downloads: 0
Individual Response for Unit Analysis
Views: 0  |  Downloads: 0
Slajd 1
Views: 1  |  Downloads: 0
xsdasadas
Views: 0  |  Downloads: 0
Intervjuer deltagare i EU-projek
Views: 1  |  Downloads: 0
Terms of Reference
Views: 0  |  Downloads: 0
Special End of Season Issue
Views: 15  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!