Professional Documents
Culture Documents
Client–server architectures allow us to enable communication between two applications with one
application acting as the server and the other acting as the client. For mobile applications, the server
may have special needs, but it is typically powerful enough to run a wide range of applications
Limited resources on the devices and the large variety of them. So, more often than not, mobile
applications are distributed.
يتم توزيع التطبيقات النقالة، في كثير من األحيان، لذلك.والموارد المحدودة على األجهزة ومجموعة كبيرة ومتنوعة منها.
2) Thick-Client Wireless Client–Server: The client application on the mobile device may be a custom
application. If so, this thick client may communicate with the server, with the client executing
some tasks and the server executing the others.
تطبيق العميل على الجهاز المحمول:كلينت عميل العميل الالسلكي-ثيك
مع تنفيذ العميل بعض المهام والملقم، هذا العميل سميكة قد التواصل مع الملقم، إذا كان األمر كذلك.قد يكون تطبيق مخصص
تنفيذ اآلخرين.
a. Some provide an operating system or a virtual machine
بعضها يوفر نظام تشغيل أو جهاز ظاهري
b. Hardware manufacturers, such as Qualcomm and Texas Instruments, provide
programming environments directly on top of hardware
وتوفير بيئات البرمجة مباشرة على رأس األجهزة، مثل كوالكوم وتكساس إنسترومنتس،الشركات المصنعة لألجهزة
3) Stand-alone Applications: Lastly, we can build stand-alone applications for the devices using
those same platforms that we mentioned for the thick-client client-server-based systems. The
only difference here is that stand-alone applications
يمكننا بناء تطبيقات قائمة بذاتها ل، وأخيرا:قائمة بذاتها التطبيقات
والفرق الوحيد هنا هو أن.األجهزة التي تستخدم تلك المنصات نفسها التي ذكرناها لألنظمة المستندة إلى العميل العميل سميكة
التطبيقات قائمة بذاتها
JAVA
Widely accepted that Java as a programming language offers the most portable
commercial environment for writing software applications.
مقبولة على نطاق واسع أن جافا كلغة برمجة يوفر البيئة التجارية األكثر المحمولة لكتابة تطبيقات البرمجيات.
Providing standard Application Program Interfaces (APIs), a very thoughtfully designed
infrastructure for OOP that prohibits many bad design and implementation habits such
as multiple inheritance
وهي بنية تحتية مصممة بعناية فائقة ل أوب التي تحظر العديد،)وتوفير واجهات برمجة التطبيقات القياسية (أبيس
من سوء تصميم وتنفيذ عادات مثل الميراث متعددة
There are three major categories of Java APIs and virtual machines, namely J2ME, J2SE,
and J2EE.
وهي، هناك ثالث فئات رئيسية من واجهات برمجة التطبيقات جافا واألجهزة الظاهريةJ2ME ،J2SE و، J2EE.
Java offers three distinct features as a mobile application platform:
1. Java is an object oriented programming language. As any other programming language, it can
be used to write applications.
2. Java offers complete code mobility and weak mobile agent ability. Java allows for platform-
independent programming.
3. Java is a platform.
تقدم جافا ثالث سمات متميزة كمنصة تطبيقات الهاتف المتحرك:
1. يمكن استخدامه لكتابة التطبيقات، كأي لغة برمجة أخرى.جافا هي لغة البرمجة الكائن المنحى.
2. جافا يسمح للبرمجة منصة مستقلة.جافا تقدم كامل التنقل رمز وضعف قدرة وكيل المحمول.
3. جافا هي منصة.
J2ME
J2ME is a specification for a virtual machine and some accompanying tools for resource-limited
devices. J2ME specifically addresses those devices that have between 32 kB and 10 MB of
memory
J2ME هو مواصفات لجهاز ظاهري وبعض األدوات المصاحبة ل
يتناول. أجهزة محدودة المواردJ2ME ميغابايت من10 كيلوبايت و32 على وجه التحديد تلك األجهزة التي لديها ما بين
الذاكرة
1) Personal, mobile, connected information devices. This portion of J2ME is called CLDC for
Connected, Limited Device Configuration.
ويسمى هذا الجزء من. أجهزة معلومات شخصية ومتنقلة ومتصلةJ2ME
ليميتد ديفيس كونفيغوراتيون،كلدك ل كونكتد.
2) Shared, fixed, connected information devices. Internet-enabled appliances, mobile
computers installed in cars, and similar systems that have a total memory of 2 to 16 MB and
can have a high bandwidth and continuous connection to the network are in this group.
الجوال، األجهزة التي تدعم اإلنترنت. المتصلة، الثابتة،جهزة المعلومات المشتركة
وأنظمة مماثلة التي لديها ذاكرة كاملة من،وأجهزة الكمبيوتر المثبتة في السيارات
2 ميغابايت ويمكن أن يكون عرض النطاق الترددي العالي واالتصال المستمر إلى16 إلى
الشبكة في هذه المجموعة.
Resource-starved such as mobile phones and PDAs. CLDC addresses the following features:
كلدك يتناول ما يلي.جوعا الموارد مثل الهواتف المحمولة وأجهزة المساعد الرقمي الشخصي
ميزات:
1) Providing a virtual machine for providing language features
توفير آلة افتراضية لتوفير ميزات اللغة
2) Providing a security framework for tasks such as downloading MIDlets (J2ME
CLDC/MIDP applications)
( توفير إطار أمني لمهام مثل تحميل ميدليتسJ2ME
ميدب/ تطبيقات كلدك
3) Providing a reasonable amount of functionality for input and output. Most programs
need a persistence mechanism.
معظم البرامج.توفير قدر معقول من الوظائف للمدخالت والمخرجات
تحتاج إلى آلية استمرار
4) Providing some internationalization capabilities. CLDC’s input/output
مخرجات كلدك/ مدخالت.توفير بعض قدرات التدويل
5) Providing a reasonable amount of networking capabilities.
توفير قدر معقول من قدرات الشبكات.
the best place for the user interface functionality is in the profile.
The areas addressed by profiles are the following:
1. download and installation of applications,
2. life-cycle management of applications,
3. user interface feature,
4. database functionality, and
5. event handling.
أفضل مكان لوظيفة واجهة المستخدم في الملف الشخصي.
وفيما يلي المجاالت التي تناولتها المالمح:
1. ،تحميل وتركيب التطبيقات
2. ،إدارة دورة الحياة من التطبيقات
3. ،ميزة واجهة المستخدم
4. و،وظيفة قاعدة البيانات
5. التعامل مع الحدث.
MIDlets are treated as components controlled by a framework under the inversion of
the control principle to which we refer to frequently in this book. For a J2ME class to
qualify as a MIDlet, it has to do the following:
يتم التعامل مع ميدليتس كمكونات تسيطر عليها
إطارا في إطار عكس مبدأ الرقابة الذي نشير إليه
للحصول على فئة. في كثير من األحيان في هذا الكتابJ2ME عليه أن يفعل ذلك،للتأهل ميدليت
التالية:
1. Extend the MIDlet class.
2. Implement the following methods:
a. startApp(): This method gets called after the class is instantiated. Think of
this like the run() method of a thread in Java.
b. pauseApp(): This method is called if the application has to be suspended for
some reason. Suspension of the application can be required for power saving,
an incoming phone call, or a series of other reasons.
c. destroyApp(boolean b): This is used to do any maintenance necessary before
the application is discarded. This method is necessary mainly because finalization
and weak references are not available in J2ME. (It can be used for
release of other resources as well depending on the type of the application.)
1. توسيع فئة ميدليت.
2. تنفيذ الطرق التالية:
افكر في. يتم استدعاء هذا األسلوب بعد مثيل فئة:)( ستارتاب.ا
هذا مثل تشغيل () طريقة مؤشر ترابط في جافا.
يتم استدعاء هذا األسلوب إذا كان يجب تعليق التطبيق ل:)( بوسيب.ب
، تعليق التطبيق يمكن أن تكون مطلوبة لتوفير الطاقة.بعض االسباب
أو سلسلة من األسباب األخرى،أو مكالمة هاتفية واردة.
يستخدم هذا للقيام بأي صيانة ضرورية من قبل:) ديستريباب (بوالن ب.ج
هذا األسلوب ضروري أساسا بسبب االنتهاء.يتم تجاهل التطبيق
وال توجد مراجع ضعيفة فيJ2ME. (ويمكن استخدامه ل
اإلفراج عن الموارد األخرى وكذلك اعتمادا على نوع التطبيق.)
CDC
The other part of J2ME is CDC, which is targeted at environments, where more than 512 kB
(usually about 2 MB) of memory is available for the Java
الجزء اآلخر منJ2ME ، والذي يستهدف البيئات،هو سدك
ميغابايت) من الذاكرة ل جافا2 كيلوبايت (عادة حوالي512 حيث يتوفر أكثر من
CLDC can have a variety of profiles built on top of it, CDC profiles are built on top of the so-called
Foundation Profile. Like CLDC’s KVM, the CDC has its own virtual machine, the CVM (C Virtual
Machine).
. يتم بناء مالمح سدك على رأس ما يسمى ملف المؤسسة،كلدك يمكن أن يكون أفاريتي من التشكيالت بنيت على أعلى من ذلك
و كفم، و سدك ديه الجهاز الظاهري الخاص بها،( مثل كفد كلدكC )الجهاز الظاهري.
CVM supports all of the features that the J2SE Virtual Machine does. The CDC is smaller than
J2SE by the virtue of its lack of many of the class libraries that are shipped with J2SE.
كفم يدعم كافة الميزات التي يقوم بها الجهاز الظاهريJ2SE. و سدك أصغر منJ2SE بحكم عدم وجود العديد من مكتبات
الفئة التي يتم شحنها معJ2SE.
Classes eliminated from the CDC/Foundation Profile are the GUI classes. To date, CDC
implementations exist for several handheld operating systems, including Windows CE, Linux,
and Symbian.
توجد تطبيقات سدك لعدة، وحتى اآلن. المؤسسة هي الطبقات واجهة المستخدم الرسومية/ الطبقات القضاء على الملف سدك
بما في ذلك ويندوز سي و لينوكس و سيمبيان،أنظمة تشغيل محمولة
Java card
Java Card
A smart card is a card that has an embedded processor or some type of electronic memory
device able to store data, interface with some known set of devices, and allow the stored data
to be retrieved. Most smart card technology, prior to Java Card, has been based on proprietary
technologies.
،البطاقة الذكية هي البطاقة التي تحتوي على معالج مدمج أو نوع من جهاز الذاكرة اإللكترونية قادرة على تخزين البيانات
قبل، معظم تكنولوجيا البطاقة الذكية. والسماح للبيانات المخزنة السترجاعها،واجهة مع بعض مجموعة معروفة من األجهزة
وقد استندت على تقنيات الملكية،بطاقة جافا.
Today, there are three types of smart cards [Ruuskanen 2000]:
]2000 هناك ثالثة أنواع من البطاقات الذكية [روسكانن،اليوم:
1) IC (Integrated Circuit) Memory Cards: This is the most common type of smart card.
These types of cards hold a small amount of data (less than 4 kB) and have no
processing power.
هذا هو النوع األكثر شيوعا من الذكية:إيك (الدوائر المتكاملة) بطاقات الذاكرة
كيلو بايت) و4 هذه األنواع من بطاقات عقد كمية صغيرة من البيانات (أقل من.بطاقة
ليس لديها قوة المعالجة.
2) IC Microprocessor Cards: These cards typically have 16 kB or less of read-only memory
and half of kilobyte of random-access memory.
كيلوبايت أو أقل للقراءة فقط16 عادة ما تكون هذه البطاقات:بطاقات المعالجات الدقيقة إيك
الذاكرة ونصف الكيلوبايت من ذاكرة الوصول العشوائي.
3) Optical Memory Cards: These cards provide the largest amount of storage of all smart
cards.
توفر هذه البطاقات أكبر قدر من التخزين للجميع:بطاقات الذاكرة الضوئية
بطاقات ذكية.
JINI
allows various resources to be identified in a generic manner on the server side;
however, it is far too heavy for implementation on mobile devices.
فإنه هو ثقيلة جدا لتنفيذها على األجهزة،يسمح بتحديد مختلف الموارد بطريقة عامة على جانب الخادم؛ ومع ذلك
النقالة.
(JINI), a base technology for ad-hoc networking.
وهي تقنية أساسية للربط الشبكي المخصص،)(جيني.
JINI provides lookup services and its own discovery protocol. Let us go through the basic
transactions that JINI provides:
دعونا نذهب من خالل المعامالت األساسية التي.توفر جيني خدمات البحث وبروتوكول االكتشاف الخاص بها
توفرها جيني:
1. Lookup
2. Discovery
3. Events
4. Leasing
5. Joining
6. Transaction
1. بحث
2. اكتشاف
3. األحداث
4. التأجير
5. االنضمام
6. المعاملة
كما ناقشنا األبنية نظير إلى نظير تسمح أقرانهم الكتشاف بعضهم البعض والتواصل.جستا هو بروتوكول الند للند وجزء من منصة جافا.
1) Direct Implementation: This is the case if the JXTA protocol and the relevant APIs are provided on
the J2ME device. The implementation may be done on the top of one of the profiles (such as
MIDP)
هذا هو الحال إذا كان بروتوكول جكتا وذات الصلة:التنفيذ المباشر
يتم توفير واجهات برمجة التطبيقات على الجهازJ2ME. )قد يتم تنفيذ على رأس واحد من التشكيالت الجانبية (مثل ميدب
2) Some or all of the peers connect to the other peers through a proxy called a relay. This proxy,
sometimes also referred to as a surrogate, violates the trueness of a peer-to-peer architecture if
it lives outside of the device.
وأحيانا يشار إليه أيضا، هذا البروكسي.بعض أو كل من أقرانهم االتصال أقرانهم اآلخرين من خالل وكيل يسمى التتابع
ينتهك صحة بنية الند للند إذا كان يعيش خارج الجهاز،كبديل.
BREW
BREW (Binary Run-time Environment for Wireless) gives application developers a new and
different approach in producing mobile applications. BREW is built directly into the hardware. It
is offered as an API to access the CDMA, GSM/GPRS
بريو (ثنائي وقت التشغيل البيئة الالسلكية) يعطي التطبيق
المشروب.المطورين نهج جديد ومختلف في إنتاج التطبيقات النقالة
، يتم تقديمه ك أبي للوصول إلى كدما.بنيت مباشرة في األجهزة
GSM / ،جي بي آر إس
BREW applets, are written in C though some support for C++ is provided
مكتوبة في،بريو التطبيقات
C على الرغم من تقديم بعض الدعم لC ++
Building and Deploying a Simple BREW Application
1) . Download the SDK and get started: The first step is easy. Simply download the free BREW
SDK and begin developing your application.
. ببساطة تحميل سك بريو الحرة والبدء في تطوير التطبيق الخاص بك. الخطوة األولى سهلة:تنزيل سك وابدأ.
2) Obtain a Verisign Class 3 certificate: All BREW applications are fully authenticated using a
Verisign certificate.
يتم مصادقة جميع تطبيقات بريو بالكامل:3 الحصول على شهادة فيريسين من الفئة
باستخدام شهادة فيريسين.
3) Get a BREW phone: To test your application on a real device, you will have to get a BREW
phone.
سيكون لديك ل، الختبار التطبيق الخاص بك على جهاز حقيقي:الحصول على الهاتف بريو
الحصول على الهاتف بريو.
Obtain Class 3
Download SDK Get a BREW
Certificate from
and Start Phone
Verisign
Done No Develop
Yes
ودعم إب، سمز، سينكمل التزامن، هتب االتصاالت، دعم مس: يأتي مع وظائف أساسية كبيرة للتطبيقات النقالة7.0 و سيمبيان أوس
من خالل دعم( المحمولIPv6) وشبكات السلكية قصيرة المدى مع إردا وبلوتوث،.
Symbian started as an operating system that supported primarily C++, but it evolved to providing
support for Java as well.
بدأ سيمبيان كنظام تشغيل يدعم في المقام األولC ++ ولكن ذلك،
This is because Symbian is designed more as a PDA operating system than as an ultra-light mobile
environment. Symbian’s latest operating system (Symbian OS 7.0) supports multithreading.
Symbian, as an operating system, is in the same class as Palm OS and Windows CE with one principle
difference: Symbian has been designed for wirelessly connected devices.
تم تصميم سيمبيان لألجهزة المتصلة: في نفس الفئة مثل نظام التشغيل بالم و ويندوز سي مع اختالف مبدأ واحد، كنظام تشغيل،سيمبيان
السلكيا.
Done by……
Afnan ….