N-TIER CLIENT SERVER FRAMEWORKS AND TOOLS تير األطر وأدوات العميل- N 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 العمارة خادم العميل تسمح لنا لتمكين التواصل بين تطبيقين مع تطبيق واحد يعمل كخادم و واآلخر يعمل العميل. بالنسبة إلى تطبيقات الجوال قد يكون الخادم خاصا ولكن عادة ما تكون قوية بما فيه الكفاية لتشغيل مجموعة واسعة من التطبيقات Client applications, in the case of mobile development, are typically those being run on mobile devices. تطبيقات العميل في حالة تطوير المحمول هي عادة تلك.يجري تشغيلها على األجهزة النقالة Limited resources on the devices and the large variety of them. So, more often than not, mobile applications are distributed..والموارد المحدودة على األجهزة ومجموعة كبيرة ومتنوعة منها. لذلك في كثير من األحيان يتم توزيع التطبيقات النقالة Two factors that are inherently opposite in nature وهما عامالن يتعارضان بطبيعتهما 1) we need a layer of software, be it a virtual machine or otherwise, that abstracts us away from the specificity of hardware. نحن بحاجة إلى طبقة من البرمجيات سواء كان ذلك الجهاز الظاهري أو خالف ذلك أن يخلص لنا بعيدا عن.خصوصية األجهزة 2) software layers are added, performance is hampered and system requirements go up تتم إضافة طبقات البرمجيات وتعوق األداء ومتطلبات النظام ترتفع We can address this problem in three ways: 1) Thin-Client Wireless Client Server: We can have some homogeneous browser specifications and implement the browsers for each device in a client server environment. The browser can then load markup code and render it or even load plug-ins. العميل العميل الالسلكي-الخادم: يمكن أن يكون لدينا بعض مواصفات المتصفح متجانسة وتنفيذ المتصفحات لكل جهاز في (1 بيئة خادم العميل. يمكن للمتصفح ثم تحميل رمز الترميز وجعله أو حتى تحميل المكونات اإلضافية 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. J2EE. وJ2SE J2ME هناك ثالث فئات رئيسية من واجهات برمجة التطبيقات جافا واألجهزة الظاهرية وهي 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 platformindependent 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 على وجه التحديد تلك األجهزة التي لديها ما بين 32 كيلوبايت و 10 ميغابايت من J2ME أجهزة محدودة الموارد. يتناول الذاكرة 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. جهزة المعلومات المشتركة الثابتة المتصلة. األجهزة التي تدعم اإلنترنت الجوال وأجهزة الكمبيوتر المثبتة في السيارات وأنظمة مماثلة التي لديها ذاكرة كاملة من إلى 16 ميغابايت ويمكن أن يكون عرض النطاق الترددي العالي واالتصال المستمر إلى 2.الشبكة في هذه المجموعة 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 الجزء اآلخر من حيث يتوفر أكثر من 512 كيلوبايت )عادة حوالي 2 ميغابايت( من الذاكرة ل جافا 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 Java-Based Peer-to-Peer Protocol بروتوكول الند للند JXTA is a peer-to-peer protocol and part of the Java platform. As we discussed peer-to-peer architectures allow peers to discover one another and communicate..جستا هو بروتوكول الند للند وجزء من منصة جافا. كما ناقشنا األبنية نظير إلى نظير تسمح أقرانهم الكتشاف بعضهم البعض والتواصل JXTA implementations for J2ME. 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. الحصول على الهاتف بريو: الختبار التطبيق الخاص بك على جهاز حقيقي سيكون لديك ل.الحصول على الهاتف بريو Download SDK and Start Obtain Class 3 Certificate from Verisign Get a BREW Phone True BREW Test Unit Test Get a Class ID Done No Develop Yes Pricing and Carrier Evaluation Steps of Developing a BREW Application.
4) Register as a BREW developer: This is not a simple sign up for notifications and other news about BREW. You will have to have the Verisign Class 3 certificate before you can become an Authenticated Developer. تسجيل كمطور بريو: هذه ليست بسيطة االشتراك في اإلخطارات و.آخر األخبار عن بريو. يجب أن يكون لديك شهادة فيريسين كالس 3 قبل أن تصبح "مطور مصادق 5) Obtain a Class ID for your application: During the development process, you can use a dummy Class ID الحصول على معرف فئة للتطبيق الخاص بك: خالل عملية التنمية يمكنك استخدم معرف فئة وهمية 6) Perform a unit test and send it to a testing lab: If you are done with steps 1 5, you are ready to submit your application for testing. إجراء اختبار وحدة وإرساله إلى مختبر االختبار: إذا كنت فعلت مع الخطوات 5-1.فأنت على استعداد لتقديم طلبك لالختبار Databases on Windows CE قواعد البيانات على ويندوز سي Data storage is one of the best addressed areas on the Windows CE platform. There are three ways to store data on a Windows CE device: تخزين البيانات هي واحدة من أفضل المناطق التي يتم تناولها على منصة ويندوز سي. هناك :ثالث طرق لتخزين البيانات على جهاز ويندوز سي 1) MS SQL Server Windows CE Edition: This is the highest end solution providing the most amount of functionality,,, a subset of the functionality offered by the desktop/server version of MS SQL Server. مس سكل سيرفر ويندوز سي إديتيون: هذا هو الحل أعلى نهاية توفير أكبر قدر من الوظائف مجموعة فرعية.من الوظائف التي يقدمها إصدار سطح المكتب / الملقم من مس سكل سيرفر 2) CEDB: This solution allows storage of information in a small and simple Database. CEDB is typically a better solution for most applications on most devices because it occupies fewer resources than the MS SQL Server for Windows CE. CEDB offers crucial functionality, such as storage of information as records سيدب: هذا الحل يسمح تخزين المعلومات في صغيرة وبسيطة قاعدة البيانات. سيدب هو عادة حل أفضل لمعظم التطبيقات على معظم األجهزة ألنه يشغل موارد أقل من مس سكل سيرفر لنظام التشغيل ويندوز سي. ويقدم مركز التنمية االقتصادية واالجتماعية وظائف حاسمة مثل تخزين المعلومات كسجالت 3) File system: As with most client-side mobile platforms, the application can store data in a file system. This solution takes the fewest resources but may increase the size of the application نظام الملفات: كما هو الحال مع معظم منصات متحركة من جانب العميل يمكن التطبيق تخزين البيانات في نظام الملفات. هذا الحل يأخذ أقل الموارد ولكن قد زيادة حجم التطبيق
SYMBIAN EPOC Symbian, one of the most powerful and popular platforms for mobile development, was created jointly by Ericsson, Nokia, Panasonic, Psion, Samsung Electronics, and Siemens سيمبيان واحدة من منصات قوية وشعبية لتطوير المحمول تم إنشاؤها بشكل مشترك من قبل اريكسون نوكيا باناسونيك بسيون سامسونج لإللكترونيات The Symbian OS 7.0 comes with considerable basic functionality for mobile applications: support for MMS, HTTP communication, SyncML synchronization, SMS, support for Mobile IP (through support for IPv6), and short-range wireless networking with IrDA and Bluetooth. وسيمنز و سيمبيان أوس 7.0 يأتي مع وظائف أساسية كبيرة للتطبيقات النقالة: دعم مس هتب االتصاالت سينكمل التزامن سمز ودعم إب. وشبكات السلكية قصيرة المدى مع إردا وبلوتوث IPv6) من خالل دعم ( المحمول Symbian started as an operating system that supported primarily C++, but it evolved to providing support for Java as well. ولكن ذلك++ C بدأ سيمبيان كنظام تشغيل يدعم في المقام األول.تطورت إلى تقديم الدعم ل جافا كذلك Support application development for Symbian دعم تطوير التطبيقات ل سيمبيان Deploying Java applications to Symbian is much easier 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. نشر تطبيقات جافا إلى سيمبيان أسهل بكثير وذلك ألن سيمبيان تم تصميمه كجهاز تشغيل بدا أكثر من كونه بيئة متنقلة خفيفة للغاية. أحدث نظام التشغيل سيمبيان )سيمبيان أوس.7.0( يدعم تعدد العالمات التجارية سيمبيان كنظام تشغيل في نفس الفئة مثل نظام التشغيل بالم و ويندوز سي مع اختالف مبدأ واحد: تم تصميم سيمبيان لألجهزة المتصلة.السلكيا Done by Afnan.