The document discusses building open source messaging clients for Java ME platforms. It describes the Funambol Java ME SDK which provides APIs for synchronization and email. It also discusses building a push email client and considerations for writing cross-platform applications, certification processes, and Funambol's open source mobile synchronization software.
Here are the key steps to configure Spring MVC in the lab:
1. Configure the ContextLoaderListener in web.xml to initialize the root application context. This loads the common beans.
2. Define the contextConfigLocation parameter pointing to the common spring configuration files.
3. Configure the DispatcherServlet in web.xml. This is the front controller that handles all web requests.
4. Give the DispatcherServlet a unique name and set its contextConfigLocation to load web-specific beans, separate from the root context.
5. Add spring-mvc configuration files defining the component-scan, view resolver, etc.
6. Add Controllers and Views (JSP
03.eGovFrame Runtime Environment Training Book SupplementChuong Nguyen
The document provides an overview of the eGovFrame runtime environment. It describes the layers and services that make up the runtime environment. The runtime environment includes presentation, business logic, persistence, and integration layers. It provides 34 common services across these layers, including MVC, security, exception handling, ORM, and more. These services improve development productivity, reusability, interoperability, and standardization of e-government applications. The runtime environment is built using proven open source technologies like Spring and Hibernate.
Open World Forum 2009 Migration With TelosysLaurent Guérin
1) The document discusses migrating a client/server application built with Visual Basic to a Java/web application using the open source Telosys framework.
2) Telosys provides code generation tools that improve productivity by 20-40% by automatically generating Java classes, screens, and data access layers from an existing database.
3) Migrating to Telosys preserves the original screens behavior through AJAX-based client/server dialogs while providing scalability, performance, and multilingual capabilities of a web application.
02.egovFrame Development Environment workshop IChuong Nguyen
The document summarizes the development environment lab workbook for eGovFrame. It describes the composition of the lab environment including installed software and directory information. It also outlines the configuration of plug-ins in Eclipse and servers. The document then explains three labs - creating and running a sample project to learn the tools, creating a Hello World test case using JUnit, and generating CRUD code automatically from a database table template to learn code generation.
Microsoft Search Server 2008 - Technical Overviewukdpe
This document provides a technical overview of the capabilities of Microsoft Search Server 2008 Standard and Express. Dicussed is everything from hardware requirements, licensing, administration, and security. Of particular interest are the slides around search federation.
The document discusses the Open Data Protocol (OData), which is an open specification that allows the creation of REST-based data services that support built-in operations like CRUD (Create, Read, Update, Delete) and querying capabilities. OData builds on fundamental web standards like HTTP, URI conventions, and XML or JSON for payloads to define a protocol that can be used for exposing and consuming data across systems via REST. The specification also covers addressing schemes, payloads, metadata, batching requests, and how OData can be implemented using technologies like WCF Data Services.
Building Silverlight Applications Using .NET (Part 2 of 2)goodfriday
This session demonstrates building a rich interactive application (RIA) using Silverlight. We cover how to use Microsoft Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, znc how to manipulate data with XML and LINQ. (This is the second in a two-part series.)
This document provides an overview of key concepts in eGovFrame including dependency injection, aspect oriented programming, the model-view-controller pattern, object relational mapping, and Spring MVC architecture. It explains how these concepts are used to increase modularity, separate concerns, and make the code easier to maintain and reuse. The document also provides code examples for SQL mapping implementation and the conceptual flow of the MVC pattern with a DispatcherServlet.
Here are the key steps to configure Spring MVC in the lab:
1. Configure the ContextLoaderListener in web.xml to initialize the root application context. This loads the common beans.
2. Define the contextConfigLocation parameter pointing to the common spring configuration files.
3. Configure the DispatcherServlet in web.xml. This is the front controller that handles all web requests.
4. Give the DispatcherServlet a unique name and set its contextConfigLocation to load web-specific beans, separate from the root context.
5. Add spring-mvc configuration files defining the component-scan, view resolver, etc.
6. Add Controllers and Views (JSP
03.eGovFrame Runtime Environment Training Book SupplementChuong Nguyen
The document provides an overview of the eGovFrame runtime environment. It describes the layers and services that make up the runtime environment. The runtime environment includes presentation, business logic, persistence, and integration layers. It provides 34 common services across these layers, including MVC, security, exception handling, ORM, and more. These services improve development productivity, reusability, interoperability, and standardization of e-government applications. The runtime environment is built using proven open source technologies like Spring and Hibernate.
Open World Forum 2009 Migration With TelosysLaurent Guérin
1) The document discusses migrating a client/server application built with Visual Basic to a Java/web application using the open source Telosys framework.
2) Telosys provides code generation tools that improve productivity by 20-40% by automatically generating Java classes, screens, and data access layers from an existing database.
3) Migrating to Telosys preserves the original screens behavior through AJAX-based client/server dialogs while providing scalability, performance, and multilingual capabilities of a web application.
02.egovFrame Development Environment workshop IChuong Nguyen
The document summarizes the development environment lab workbook for eGovFrame. It describes the composition of the lab environment including installed software and directory information. It also outlines the configuration of plug-ins in Eclipse and servers. The document then explains three labs - creating and running a sample project to learn the tools, creating a Hello World test case using JUnit, and generating CRUD code automatically from a database table template to learn code generation.
Microsoft Search Server 2008 - Technical Overviewukdpe
This document provides a technical overview of the capabilities of Microsoft Search Server 2008 Standard and Express. Dicussed is everything from hardware requirements, licensing, administration, and security. Of particular interest are the slides around search federation.
The document discusses the Open Data Protocol (OData), which is an open specification that allows the creation of REST-based data services that support built-in operations like CRUD (Create, Read, Update, Delete) and querying capabilities. OData builds on fundamental web standards like HTTP, URI conventions, and XML or JSON for payloads to define a protocol that can be used for exposing and consuming data across systems via REST. The specification also covers addressing schemes, payloads, metadata, batching requests, and how OData can be implemented using technologies like WCF Data Services.
Building Silverlight Applications Using .NET (Part 2 of 2)goodfriday
This session demonstrates building a rich interactive application (RIA) using Silverlight. We cover how to use Microsoft Visual Studio to create applications, how to create UI using XAML markup and code, how to build a custom control, how to retrieve data from a Web service, znc how to manipulate data with XML and LINQ. (This is the second in a two-part series.)
This document provides an overview of key concepts in eGovFrame including dependency injection, aspect oriented programming, the model-view-controller pattern, object relational mapping, and Spring MVC architecture. It explains how these concepts are used to increase modularity, separate concerns, and make the code easier to maintain and reuse. The document also provides code examples for SQL mapping implementation and the conceptual flow of the MVC pattern with a DispatcherServlet.
02.egovFrame Development Environment training bookChuong Nguyen
The document discusses the development environment for eGovFrame. It includes tools for implementation like editors and debuggers, testing, deployment, and configuration management. The development environment uses Eclipse IDE and provides tools through the programming lifecycle from coding to deployment. It supports 4 service groups and 11 services and the general programming process when using these tools.
Push to the limit - rich and pro-active user interfaces with ADF - V2 (UKOUG,...Lucas Jellema
Visual appeal and desktop-like reaction to user input were key elements in Web 2.0, powered by AJAX. The next generation user interface is active - presenting data and events in real time, driven by server push technology. This session demonstrates how ADF Active Data Service (ADS) and the BAM Data Control are leveraged to create an active UI. Messages arriving on JMS, through HTTP, from Complex Event Processing and from email servers are pushed to the browser, updating charts, tables and even causing popups to open. The session demonstrates a Chat implementation integrated in a Fusion Web application. It also shows how Database Query Result Change Notification and ADS allow events to be pushed from database all the way to user interface.
This document discusses tools for directory coexistence and migration between IBM Lotus Domino and Microsoft Exchange Server 2007. It describes tools for planning migrations, maintaining directory synchronization during coexistence, and migrating user mailboxes and applications. The tools include the Directory Connector for Domino, Windows PowerShell tasks for getting and moving directory objects, mailboxes, and applications, and the Quest Notes Migrator for supplementing Microsoft's migration solution.
The document discusses using Scala and Spring Integration to implement Enterprise Integration Patterns. It provides an overview of messaging and integration concepts like pipes and filters, message channels, and message endpoints. It then explains how Spring Integration implements these patterns and supports configuration via XML or a Scala DSL. The Scala DSL offers benefits like compile-time validation and type safety compared to XML configuration.
Integrating Your Site With Internet Explorer 8goodfriday
Learn what the new standards compliant engine in Microsoft Internet Explorer 8 means to you as a web designer, and how to utilize new layout functionality to create cross-browser-compatible layout designs.
Push to the limit - rich and pro-active user interfaces with ADF (Oracle Ope...Lucas Jellema
Visual appeal and desktop-like reaction to user input were key elements in Web 2.0, powered by AJAX. The next generation user interface is active - presenting data and events in real time, driven by server push technology. This session demonstrates how ADF Active Data Service (ADS) and the BAM Data Control are leveraged to create an active UI. Messages arriving on JMS, through HTTP, from Complex Event Processing and from email servers are pushed to the browser, updating charts, tables and even causing popups to open. The session demonstrates a Chat implementation integrated in a Fusion Web application. It also shows how Database Query Result Change Notification and ADS allow events to be pushed from database all the way to user interface.
Designing a Language and System for REST-oriented service composition,as a se...raniakhalaf
The document describes Bite, a new lightweight workflow language for REST-oriented service composition. Bite aims to expand the reach of workflow-based development by providing a simple yet flexible language. It incorporates a unified data and interaction flow model and deep integration with web technologies like REST. Bite processes can be deployed and executed as resources in a hosted BPM as a service system. The language draws from BPEL but aims to reduce complexity by taking a more script-like approach optimized for web-centric applications.
This document describes a company that provides model-based development services and tools. It has offices in multiple countries with 140 employees. The company is a strategic member of the Eclipse Foundation and focuses on embedded software and enterprise application development through research collaboration.
This very short document does not contain much substantive information to summarize in 3 sentences or less. It appears to be placeholder text without significant meaning or content to extract.
This document discusses corneal surgery, including corneal refractive surgery and corneal transplant surgery. It describes the different types of corneal refractive surgery, which include flap surgery techniques like LASIK as well as surface procedures like PRK. Corneal transplant surgery, also called keratoplasty, is described as replacing damaged corneal tissue with donor tissue. The different types of keratoplasty like penetrating keratoplasty and lamellar keratoplasty are mentioned. The document provides details on donor corneal preparation and storage, surgical techniques, potential complications, and post-operative care for corneal transplant surgery.
Este documento describe los siete principales géneros de caricaturas, incluyendo cómico, humorístico, aventuras, ciencia ficción, superhéroes, acción y fantástico. Explica las características clave de cada género, como los tipos de personajes involucrados, el entorno, la trama y el contenido de violencia. También proporciona ejemplos populares de caricaturas para cada género.
Este documento clasifica y describe los diferentes tipos de medios de comunicación. Los divide en medios sin maquinaria como el periódico, medios primarios como la radio, y medios terciarios como internet y las redes sociales. Explica que los medios permiten la comunicación a largas distancias pero también pueden manipularse para fines negativos. Además, describe cómo los medios masivos como la televisión y la prensa ayudan a formar opiniones públicas ampliamente compartidas.
El documento describe tres tipos principales de personajes (actantes) que pueden aparecer en caricaturas: 1) personas, 2) animales, y 3) objetos. Las personas pueden representar niños, jóvenes, adultos y tener roles como héroes o villanos. Los animales pueden tener comportamientos completamente animales o una mezcla de rasgos animales y humanos. Los objetos normalmente tienen atributos mágicos pero ahora aparecen menos en caricaturas de entretenimiento.
El documento habla sobre la aplicación Bubbl.us, la cual permite crear mapas mentales de forma sencilla y gratuita. Explica que los mapas pueden usarse en el aula para que los estudiantes organicen y sinteticen información de manera visual. Además, los mapas creados en Bubbl.us se pueden imprimir, guardar, exportar e incrustar en páginas web.
Al Lachner is an accomplished sales manager and operations director with over 20 years of experience in the telecommunications industry. He has consistently exceeded sales goals at multiple employers and co-owns a successful telecommunications company. Lachner has experience managing teams of up to 70 employees and improving sales processes. Currently, he manages a cloud-based telecommunications company, overseeing operations, sales, and client support.
A marca FORMA RARA foi fundada em 2005 para atender o público plus size com roupas e acessórios em tamanhos de 46 a 58. A empresa se diferencia por ter estilistas próprios, qualidade nas matérias-primas, e presença em grande parte do país. O investimento inicial para uma franquia é a partir de R$141.000,00 com faturamento médio de R$45.000,00 e retorno em 18 meses.
El documento describe diferentes redes sociales como Facebook, blogs y Twitter, y cómo pueden usarse para fines educativos. Facebook permite compartir información con otros y mantenerse en contacto. Los blogs permiten que los estudiantes compartan trabajos y reciban comentarios de compañeros. Twitter permite compartir enlaces educativos y actualizaciones. Todas estas plataformas pueden usarse para publicar material de clase, fomentar el debate y la colaboración entre estudiantes.
Pennsylvania State System of Higher Education Virtual Conference, February 16, 2016
Kim Kenward, Justin Melick and Rosemary Cleveland
Our conference presentation will help faculty and instructional designers identify technology resources and assignment design considerations for supporting online student presentations. This session will also provide information on the role of student project partners to facilitate student engagement opportunities for peer review, feedback and building online community.
02.egovFrame Development Environment training bookChuong Nguyen
The document discusses the development environment for eGovFrame. It includes tools for implementation like editors and debuggers, testing, deployment, and configuration management. The development environment uses Eclipse IDE and provides tools through the programming lifecycle from coding to deployment. It supports 4 service groups and 11 services and the general programming process when using these tools.
Push to the limit - rich and pro-active user interfaces with ADF - V2 (UKOUG,...Lucas Jellema
Visual appeal and desktop-like reaction to user input were key elements in Web 2.0, powered by AJAX. The next generation user interface is active - presenting data and events in real time, driven by server push technology. This session demonstrates how ADF Active Data Service (ADS) and the BAM Data Control are leveraged to create an active UI. Messages arriving on JMS, through HTTP, from Complex Event Processing and from email servers are pushed to the browser, updating charts, tables and even causing popups to open. The session demonstrates a Chat implementation integrated in a Fusion Web application. It also shows how Database Query Result Change Notification and ADS allow events to be pushed from database all the way to user interface.
This document discusses tools for directory coexistence and migration between IBM Lotus Domino and Microsoft Exchange Server 2007. It describes tools for planning migrations, maintaining directory synchronization during coexistence, and migrating user mailboxes and applications. The tools include the Directory Connector for Domino, Windows PowerShell tasks for getting and moving directory objects, mailboxes, and applications, and the Quest Notes Migrator for supplementing Microsoft's migration solution.
The document discusses using Scala and Spring Integration to implement Enterprise Integration Patterns. It provides an overview of messaging and integration concepts like pipes and filters, message channels, and message endpoints. It then explains how Spring Integration implements these patterns and supports configuration via XML or a Scala DSL. The Scala DSL offers benefits like compile-time validation and type safety compared to XML configuration.
Integrating Your Site With Internet Explorer 8goodfriday
Learn what the new standards compliant engine in Microsoft Internet Explorer 8 means to you as a web designer, and how to utilize new layout functionality to create cross-browser-compatible layout designs.
Push to the limit - rich and pro-active user interfaces with ADF (Oracle Ope...Lucas Jellema
Visual appeal and desktop-like reaction to user input were key elements in Web 2.0, powered by AJAX. The next generation user interface is active - presenting data and events in real time, driven by server push technology. This session demonstrates how ADF Active Data Service (ADS) and the BAM Data Control are leveraged to create an active UI. Messages arriving on JMS, through HTTP, from Complex Event Processing and from email servers are pushed to the browser, updating charts, tables and even causing popups to open. The session demonstrates a Chat implementation integrated in a Fusion Web application. It also shows how Database Query Result Change Notification and ADS allow events to be pushed from database all the way to user interface.
Designing a Language and System for REST-oriented service composition,as a se...raniakhalaf
The document describes Bite, a new lightweight workflow language for REST-oriented service composition. Bite aims to expand the reach of workflow-based development by providing a simple yet flexible language. It incorporates a unified data and interaction flow model and deep integration with web technologies like REST. Bite processes can be deployed and executed as resources in a hosted BPM as a service system. The language draws from BPEL but aims to reduce complexity by taking a more script-like approach optimized for web-centric applications.
This document describes a company that provides model-based development services and tools. It has offices in multiple countries with 140 employees. The company is a strategic member of the Eclipse Foundation and focuses on embedded software and enterprise application development through research collaboration.
This very short document does not contain much substantive information to summarize in 3 sentences or less. It appears to be placeholder text without significant meaning or content to extract.
This document discusses corneal surgery, including corneal refractive surgery and corneal transplant surgery. It describes the different types of corneal refractive surgery, which include flap surgery techniques like LASIK as well as surface procedures like PRK. Corneal transplant surgery, also called keratoplasty, is described as replacing damaged corneal tissue with donor tissue. The different types of keratoplasty like penetrating keratoplasty and lamellar keratoplasty are mentioned. The document provides details on donor corneal preparation and storage, surgical techniques, potential complications, and post-operative care for corneal transplant surgery.
Este documento describe los siete principales géneros de caricaturas, incluyendo cómico, humorístico, aventuras, ciencia ficción, superhéroes, acción y fantástico. Explica las características clave de cada género, como los tipos de personajes involucrados, el entorno, la trama y el contenido de violencia. También proporciona ejemplos populares de caricaturas para cada género.
Este documento clasifica y describe los diferentes tipos de medios de comunicación. Los divide en medios sin maquinaria como el periódico, medios primarios como la radio, y medios terciarios como internet y las redes sociales. Explica que los medios permiten la comunicación a largas distancias pero también pueden manipularse para fines negativos. Además, describe cómo los medios masivos como la televisión y la prensa ayudan a formar opiniones públicas ampliamente compartidas.
El documento describe tres tipos principales de personajes (actantes) que pueden aparecer en caricaturas: 1) personas, 2) animales, y 3) objetos. Las personas pueden representar niños, jóvenes, adultos y tener roles como héroes o villanos. Los animales pueden tener comportamientos completamente animales o una mezcla de rasgos animales y humanos. Los objetos normalmente tienen atributos mágicos pero ahora aparecen menos en caricaturas de entretenimiento.
El documento habla sobre la aplicación Bubbl.us, la cual permite crear mapas mentales de forma sencilla y gratuita. Explica que los mapas pueden usarse en el aula para que los estudiantes organicen y sinteticen información de manera visual. Además, los mapas creados en Bubbl.us se pueden imprimir, guardar, exportar e incrustar en páginas web.
Al Lachner is an accomplished sales manager and operations director with over 20 years of experience in the telecommunications industry. He has consistently exceeded sales goals at multiple employers and co-owns a successful telecommunications company. Lachner has experience managing teams of up to 70 employees and improving sales processes. Currently, he manages a cloud-based telecommunications company, overseeing operations, sales, and client support.
A marca FORMA RARA foi fundada em 2005 para atender o público plus size com roupas e acessórios em tamanhos de 46 a 58. A empresa se diferencia por ter estilistas próprios, qualidade nas matérias-primas, e presença em grande parte do país. O investimento inicial para uma franquia é a partir de R$141.000,00 com faturamento médio de R$45.000,00 e retorno em 18 meses.
El documento describe diferentes redes sociales como Facebook, blogs y Twitter, y cómo pueden usarse para fines educativos. Facebook permite compartir información con otros y mantenerse en contacto. Los blogs permiten que los estudiantes compartan trabajos y reciban comentarios de compañeros. Twitter permite compartir enlaces educativos y actualizaciones. Todas estas plataformas pueden usarse para publicar material de clase, fomentar el debate y la colaboración entre estudiantes.
Pennsylvania State System of Higher Education Virtual Conference, February 16, 2016
Kim Kenward, Justin Melick and Rosemary Cleveland
Our conference presentation will help faculty and instructional designers identify technology resources and assignment design considerations for supporting online student presentations. This session will also provide information on the role of student project partners to facilitate student engagement opportunities for peer review, feedback and building online community.
Directorio Congregación de Misioneras del Sagrado Corazón de Jesús AdgentesMisioneras Adgentes
Este documento lista las nombres, cargos, fechas de cumpleaños y profesión de varias hermanas que son parte de la orden religiosa Misioneras del Sagrado Corazón de Jesús Ad-Gentes. Proporciona detalles biográficos básicos de cada hermana miembro.
This document discusses Roberto Galoppini's experience with open source software selection and tools over the years from 1994 to 2009. It lists his involvement with open source including using Linux for mobile services in 1994, starting an open source business in 2001, contributing to OpenOffice.org in 2002, publishing research on Debian in 2003, co-founding an open source consortium in 2004, blogging about open networking in 2007, and consulting worldwide on open standards in 2009. It also lists popular open source software downloads in Italy and various open source expertise tools and search engines.
Este documento discute la fabricación del papel y sus impactos ambientales. Explica cómo la tala de árboles a gran escala puede causar deforestación y pérdida de hábitat, y que el papel puede fabricarse también de materiales alternativos como la caña de azúcar, la paja y los residuos agrícolas. Finalmente, destaca las diferencias entre la fabricación de papel a partir de la tala de árboles versus el uso de residuos, siendo este último método más beneficioso para el medio ambiente.
MonoTouch allows developers to create iOS applications using C# and the .NET framework. It provides a thin layer on top of CocoaTouch, allowing applications to have the same native look and feel while taking advantage of standard .NET classes for tasks like file access, database access, and business logic. MonoTouch also supports cross-platform development, with shared code and APIs from Xamarin.Mobile that can be used across iOS, Android, and Windows Phone applications.
The document provides an overview of the Funambol C++ APIs for synchronization. It discusses the current status of the APIs, including supported platforms and features. It also looks forward to potential improvements, such as better modularization, a common data model, and improved testing. The goal is to make the APIs more portable, extensible and testable across multiple platforms.
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019UA Mobile
If you want to share the code between Android and iOS but you don't feel like doing C++/JNI, React Native, Flutter, you must try Kotlin/Native! In this presentation we will see how Kotlin/Native is different and in some aspects superior, and how easy it becomes to develop, debug and maintain a common codebase with JetBrains tools and without sacrificing runtime performance.
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Eugene Kurko
f you want to share the code between Android and iOS but you don't feel like doing C++/JNI, React Native, Flutter, you must try Kotlin/Native! In this presentation we will see how Kotlin/Native is different and in some aspects superior, and how easy it becomes to develop, debug and maintain a common codebase with JetBrains tools and without sacrificing runtime performance.
Google App Engine is a PaaS that allows developers to run their own applications in Google's infrastructure. It supports automatic scaling and load balancing. Apps run in a sandbox with restrictions and quotas. Key services include the datastore, memcache, mail, and task queues. Developers use Google-provided APIs and tools to build, deploy, host and manage their applications on Google's scalable infrastructure.
Mike Taulty TechDays 2010 Silverlight 4 - What's New?ukdpe
Silverlight 4 is a major release that includes many new features such as support for additional browsers and platforms, improved networking capabilities including sockets support, enhanced data binding and validation, improved media support including offline DRM, and new controls. It also introduces the ability to create trusted out-of-browser applications that have increased desktop integration and access to native capabilities. The release strengthens support for MVVM, adds the Managed Extensibility Framework, and improves WCF RIA Services.
A Walking Tour of (almost) all of Springdom Joshua Long
this is the deck for my 3+ hour walking tour talk that I give as a workshop at various conferences. This talk introduces practically everything in Spring -- come into the talk unaware of the concepts or frameworks and leave with a working knowledge of all the frameworks, and of all the applications for the technologies.
Meteor is a JavaScript platform for building mobile and web applications. It allows developers to use JavaScript on both the client and server, write code that is shared between client and server, and automatically syncs data between clients in real-time. The seven principles of Meteor are data on the wire, one language, database everywhere, latency compensation, full stack reactivity, embrace the ecosystem, and simplicity equals productivity. To get started with Meteor, install Node.js and Meteor, create an example app, and run it. File structure separates code by server, client, and common functionality.
JavaOne 2012 - CON11234 - Multi device Content Display and a Smart Use of Ann...gdigugli
This session presents a multidevice content display survivor guide and discusses smart use of annotation processing. Based on some real-life stories and best practices collected while coding Java applications, it includes the following stories for you:
1. Mr. Apt loves you! APT processing explained
2. Embedded i18n and encoding survivor guide
3. Mobile Me : the ez18n project
This presentation describes progress on ProcessOne new product, OneTeam Media Server. This is a Flash Media Server used to write interactive, collaborative and real time Flash applications.
Introduction to Google App Engine talk delivered 2010 Jul 16 at EuroPython in Birmingham, UK and 2010 Jul 22 at the GTUG in London by Wesley Chun, Developer Advocate for Google.
Real World Architectures Using Windows Azure Mobile ServicesKristof Rennen
With Windows Azure Mobile Services, Microsoft has made available an amazing service to easily build mobile solutions on a solid API, offering a lot of important components out of the box.
Starting from data running on a Windows Azure SQL Database, exposed through a REST API and supported by javascript-enabled server side logic and scheduled tasks, a mobile backend can be set up in only minutes. Adding the extra power of authentication using various well known identity providers and the free notification services to serve push notifications make it a solid solution for all mobile platforms, including Android, iOS, Windows Phone and Windows 8.
In this session we will show you how Windows Azure Mobile Services can already be applied in real world architectures and projects, even while it is still in preview. We will talk through a few Windows 8 and Windows Phone apps, already or soon available in the Windows Store and we will show you how to combine the SDK and REST possibilities offered by the service to build solid solutions on all mobile platforms.
The document discusses systems integration in the cloud era. It introduces Apache Camel as a tool that can help with cloud integration. Apache Camel supports integration across various cloud computing models including IaaS, PaaS, and SaaS. It implements common integration patterns and allows integration with many cloud platforms and services through custom components. The key messages are that the cloud has arrived and must be integrated, cloud integration is already possible with tools like Apache Camel, and Apache Camel in particular provides strong support for cloud integration through its various components.
This document provides an introduction to developing applications for Mac OS X and iOS using Objective-C, Cocoa, and Cocoa Touch. It discusses the core technologies and frameworks used, including the Objective-C language, Xcode development tools, Foundation and UIKit frameworks, and key concepts like the MVC pattern. It then outlines several example applications of increasing difficulty that developers can build to learn iOS and Mac development.
Native i os, android, and windows development in c# with xamarin 4Xamarin
Dive into mobile app development with Xamarin 4 in this presentation from Xamarin Developer Evangelist James Montemagno as he walks you through how to build beautiful, performant apps with the Xamarin Platform.
This document discusses various topics related to Action Message Format (AMF) including its history, benefits, and implementations across different programming languages and platforms. AMF allows serialization of ActionScript object graphs into a compact binary format for transmission between a Flash player and server. It offers benefits like fast serialization/deserialization and low bandwidth usage compared to alternatives like XML. The document provides information on AMF implementations for popular server-side languages and frameworks like PHP, Java, Python, Ruby and .NET.
This document provides an overview of building applications with MicroProfile, Open Liberty, and OpenJ9. It discusses what MicroProfile is and its contributors and implementations. It also discusses the MicroProfile 4.1 specification stack and standalone projects. The document then provides overviews of Open Liberty, including its developer experience, productivity features, and API support. It also summarizes OpenJ9, including its low memory footprint and fast startup times. Finally, it discusses considerations for deploying applications to cloud environments and provides links to relevant open source projects.
MeeGo 1.2 architecture update document provides the following information in 3 sentences:
The document discusses changes and updates to the MeeGo 1.2 security architecture, including re-evaluating access control solutions like SELinux and sandboxing with Linux containers. It also outlines replacements for the PIM storage frameworks like replacing Tracker storage with Evolution Data Server and replacing Buteo sync with SyncEvolution. Key subsystems discussed include the security architecture, PIM storage, data synchronization, and application frameworks.
Similar to Funambol JavaME Messaging Client: Lessons Learned - JavaONE 2008 (20)
OpenShift is a Platform as a Service (PaaS) built on Red Hat technologies that provides developers with an automated and scalable platform for building and deploying applications. With OpenShift, developers can focus on coding their applications without having to manage the underlying infrastructure. OpenShift handles tasks like provisioning resources, deploying code, scaling applications, and maintaining the platform. Developers have freedom of choice with OpenShift, including programming languages, frameworks, cloud deployment options, and development interfaces. OpenShift aims to bridge the gap between agile application development and robust enterprise capabilities.
This document summarizes OpenShift, a platform as a service (PaaS) from Red Hat that allows for rapid and elastic deployment of applications in the cloud. It describes OpenShift Express, a free tier for hosting applications, and OpenShift Flex, which provides additional capabilities like auto-scaling for a fee. Step-by-step instructions are provided for deploying a sample Joomla application on both OpenShift Express and Flex.
The document outlines the agenda for a JBoss User Group meeting in Milan on September 20th, 2011. The agenda includes presentations on JBoss AS7, JBoss AS7 web services, using JBoss on OpenShift cloud, and a networking lunch. Additional sections provide news and information about JBoss projects, events, books, the OpenShift platform, the relationship between the JBoss community and enterprise products, and an invitation to join the JBoss User Group online communities.
This document discusses common ways that teams implement Scrum but fail to fully realize its benefits, which it calls "ScrumButs". It provides examples of ScrumButs such as having daily standup meetings only weekly, using Scrum just because management requires it rather than for its values, and having separate testing/integration teams. The document urges teams to inspect why they use certain practices and adapt to better align with Scrum's principles of self-organization, lean thinking, and continuous improvement. It argues Scrum requires reflecting on its values and not just following practices mechanically.
Funambol: introducing SCRUM in software product development - AgileDay ItaliaEdoardo Schepis
Funambol introduced SCRUM to their software development process over the course of a year and three releases. They started with a waterfall process for their first release but encountered issues. Their second release incorporated some agile practices but still had problems. For their third release, they fully adopted Scrum practices like user stories, estimation, and daily standups across three teams, which improved communication, teamwork and management feedback. They continue working on improvements like reducing story sizes and technical debt.
The document discusses user interface development for Java ME. It covers Netbeans support for visual design and localization of mobile applications. It also discusses graphics APIs for Java ME, including LCDUI, JSR 184 for 3D graphics, and JSR 226 for scalable vector graphics. The document demonstrates how to optimize applications for different devices by handling resources and configurations.
Java Micro Edition (Java ME) is a popular platform for developing applications for mobile devices. It includes specifications like MIDP for developing apps to run on mobile phones. Java ME is used widely, with 36% of mobile developers naming it as their primary development platform in a 2005 survey. It is also the most popular platform for mobile gaming. Over 1 billion Java Card devices have been deployed worldwide for uses like ID cards and health records. Java ME applications must be tested on every target device due to variations in device support.
Java ME MIDlets development involves writing code using an IDE, compiling it, packaging it into a JAR file along with a JAD descriptor file, and deploying it to a device. Developers can use tools like Sun Wireless Toolkit, NetBeans Mobility Pack, or manufacturer SDKs to test and debug MIDlets on emulators before deployment. Java ME configurations like CLDC and profiles like MIDP define the runtime environment for developing MIDlets targeting different device types.
This document summarizes a presentation on developing and testing Java mobile applications across different devices. It discusses developing a simple application to perform network connections and store response codes, testing it using emulators and tools, and then deploying it to actual devices like the Sharp GX20, Nokia 6630, and Motorola V980. It finds issues like RMS storage limitations and attribute naming issues that require changes to make the application work across all devices tested. The key takeaway is that the "Write Once, Test Anywhere, Work Around" paradigm is important for Java mobile development.
As a user, I want to search the Internet so that I can find the information I need. To accomplish this at scale for millions of users, the search engine would need to split user stories along data, operational, and performance boundaries. This includes separate user stories for basic web search functionality versus more advanced search features and ensuring the system can support massive datasets and traffic volumes.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfChart Kalyan
A Mix Chart displays historical data of numbers in a graphical or tabular form. The Kalyan Rajdhani Mix Chart specifically shows the results of a sequence of numbers over different periods.
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
Essentials of Automations: Exploring Attributes & Automation ParametersSafe Software
Building automations in FME Flow can save time, money, and help businesses scale by eliminating data silos and providing data to stakeholders in real-time. One essential component to orchestrating complex automations is the use of attributes & automation parameters (both formerly known as “keys”). In fact, it’s unlikely you’ll ever build an Automation without using these components, but what exactly are they?
Attributes & automation parameters enable the automation author to pass data values from one automation component to the next. During this webinar, our FME Flow Specialists will cover leveraging the three types of these output attributes & parameters in FME Flow: Event, Custom, and Automation. As a bonus, they’ll also be making use of the Split-Merge Block functionality.
You’ll leave this webinar with a better understanding of how to maximize the potential of automations by making use of attributes & automation parameters, with the ultimate goal of setting your enterprise integration workflows up on autopilot.
Discover top-tier mobile app development services, offering innovative solutions for iOS and Android. Enhance your business with custom, user-friendly mobile applications.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
The Microsoft 365 Migration Tutorial For Beginner.pptxoperationspcvita
This presentation will help you understand the power of Microsoft 365. However, we have mentioned every productivity app included in Office 365. Additionally, we have suggested the migration situation related to Office 365 and how we can help you.
You can also read: https://www.systoolsgroup.com/updates/office-365-tenant-to-tenant-migration-step-by-step-complete-guide/
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframePrecisely
Inconsistent user experience and siloed data, high costs, and changing customer expectations – Citizens Bank was experiencing these challenges while it was attempting to deliver a superior digital banking experience for its clients. Its core banking applications run on the mainframe and Citizens was using legacy utilities to get the critical mainframe data to feed customer-facing channels, like call centers, web, and mobile. Ultimately, this led to higher operating costs (MIPS), delayed response times, and longer time to market.
Ever-changing customer expectations demand more modern digital experiences, and the bank needed to find a solution that could provide real-time data to its customer channels with low latency and operating costs. Join this session to learn how Citizens is leveraging Precisely to replicate mainframe data to its customer channels and deliver on their “modern digital bank” experiences.
1. Funambol Java™ Platform, Java ME
Technology-Based Open-Source Messaging
Client: Lessons Learned
Edoardo Schepis, Java ME Tech Lead
Session: TS-4992
2. What developers should know about building
open source Java Platform, Micro Edition (Java
ME platform) messaging applications for the
mass market
How to build synchronization clients for Java ME
technology-based devices, starting from the
Funambol Java ME SDK
2008 JavaOneSM Conference | java.sun.com/javaone | 2
3. Agenda
Introduction
Funambol Java ME SDK
Push E-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 3
4. Agenda
Introduction
Funambol Java ME SDK
Push e-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 4
5. Synchronization
Data synchronization is the process of making
two sets of data look identical
Which means
• Exchange data modifications
• Conflict resolution
Synchronization Protocol Features
• Define a method for establishing a synchronization session and
communicating modifications
• Record naming and identification
• Define protocol commands
2008 JavaOneSM Conference | java.sun.com/javaone | 5
6. Synchronization
Why do we need it?
• PDA, Handsets, iPod, Outlook, Thunderbird, Skype, Gmail, Yahoo,
Jajah, Facebook, Web...
• Mail, Contacts, Calendar
• But also bookmarks, SMS, MP3, documents, files...
• Mobile field work force
The common usage
• PC Suite, Bluetooth, Active Sync, iSync: wired and PC
Over the Air is the key
• Data plans
• It just works
• Wider support
2008 JavaOneSM Conference | java.sun.com/javaone | 6
7. OTA Synchronization with mobile devices
OMA DS (former SyncML)
• Platform independent
• Open
Uses SyncML to automatically synchronize
• Contacts (address book), including photos
• Calendar
• Tasks and notes
• Additional and custom data types
Server maintains backup of PIM data
Data can be accessed via web
Full capabilities for mobile backup service
2008 JavaOneSM Conference | java.sun.com/javaone | 7
8. Native sync or not?
Native is good, but...
• Not always available (branding phones...)
• Native clients not so easy to configure (even to find...)
Do not reinvent the wheel, just make it better
• For all the handsets
• Java ME Platform, Windows Mobile, Linux, Blackberry, Android, iPhone
• For all the clients
• Outlook, Thunderbird, Evolution
• For all the Mail/PIM servers
• POP, IMAP, Exchange...
2008 JavaOneSM Conference | java.sun.com/javaone | 8
9. Funambol Software Overview
Push
• e-mail, contacts and calendar
Mobile Backup & PIM Sync
Mobile Device Management
Mobilizing Data & Applications
2008 JavaOneSM Conference | java.sun.com/javaone | 9
10. Funambol Software Overview
Funambol Portal
1.5B+ Devices Email/PIM
Nokia POP/IMAP
Motorola Yahoo!
Sony Ericsson Hotmail
Samsung Gmail
LG AOL
SyncML Outlook
Win Mobile Exchange*
Java ME Domino*
iPhone Push PIM OTA Mobile Thunderbird*
Android* Email Sync Config Platform Custom/3rd party
Funambol Server
*Community project
2008 JavaOneSM Conference | java.sun.com/javaone | 10
11. Agenda
Introduction
Funambol Java ME SDK
Push E-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 11
12. Funambol Java ME SDK
MIDP 2.0, CLDC 1.0, WMA 1.1
SyncML API (∼24kb)
• Transport
• Sync Protocol
• Sync Source Sync Application
Mail API (∼15kb)
• MIME std parser
• Multipart support SyncML Mail
Common (∼30kb)
Common
• Push
• SMS JavaME API
• TCP/IP
• Storage
• FileSystem
• RMS / Blackberry
• Utils
2008 JavaOneSM Conference | java.sun.com/javaone | 12
13. Funambol SyncML API - 1/2 Sync Application
SyncML Mail
SyncManager
Common
• Handles communication and protocol
JavaME API
Sync Source
• Client database:
handles items to send and to store
SyncItem
• Abstracts objects to sync
Sync Modes
• Two way, one way
• Refresh
SyncListener
• Notifies upper layers
Transport
• Http/s, Socket, Bluetooth
2008 JavaOneSM Conference | java.sun.com/javaone | 13
15. Funambol Mail API Sync Application
SyncML Mail
Message
• Multipart Common
Mime Formatter and Parser JavaME API
• RFC 2045, 2046
Folders
Flags
Message Message
Header attributes Header attributes
To: <monty@funambol.com> To: <monty@funambol.com>
Subject: Today's meeting Subject: Today's meeting
Content-Type: text/plain; Content-Type:
... multipart/mixed;...
Body Body
Multipart
BodyPart
Hello, World!
Hello, World!
BodyPart
<br>Hello...
BodyPart
[attachment]
2008 JavaOneSM Conference | java.sun.com/javaone | 15
16. Funambol Common Libraries Sync Application
SyncML Mail
Push
• SMS OTA service Common
• TCP/IP service JavaME API
• Server Alert Notification (SAN)
• OTA Configuration
Storage
• RMS / Blackberry
• File System
Utils
• Logging
• Base64 and QuotedPrintable
• ThreadPool
• Serialization
2008 JavaOneSM Conference | java.sun.com/javaone | 16
17. How to build a sync-based application
Prepare your SyncSource
• Create a configuration for synchronization
• Implement sync Items database
Start the sync with SyncManager
• Mapping and modifications
Optional:
• Create a configuration
• Device capabilities (manufacturer, sw, hw, fw, utc support, ...)
• Connect a SyncListener Sync Application
• Notify upper layers
• Filtering
SyncML Mail
• Size, age and more
Common
JavaME API
2008 JavaOneSM Conference | java.sun.com/javaone | 17
18. Let's sync our contacts
Vcard + JSR75
File format standard for electronic business cards
• RFC 2425 and RFC 2426
• V2.1 Specification from the Internet Mail Consortium
• V3.0 Specification approved by the IETF
Java Specification Request (JSR) 75 (PIM package)
BEGIN:VCARD
VERSION:2.1
N:Schepis;Edoardo
FN:Edoardo Schepis
ORG:Funambol
TITLE:JavaME Tech Lead
TEL;WORK;VOICE:+1 (650) 701 1450
ADR;WORK:;;643 Bair Island Road, Suite 305;Redwood
City;CA;94063;United States of America
URL;WORK:http://www.edschepis.net
EMAIL;PREF;INTERNET:schepis@funambol.com
REV:20080309T150456Z
END:VCARD
2008 JavaOneSM Conference | java.sun.com/javaone | 18
19. Let's sync our contacts
JSR75 – get Contact from a VCard
public Contact getContact(byte[] vCard) {
ByteArrayInputStream bis = new
ByteArrayInputStream(vCard);
PIMItem[] items = pim.fromSerialFormat(bis, “UTF-8”);
return ((Contact) items[0]);
}
2008 JavaOneSM Conference | java.sun.com/javaone | 19
20. Let's sync our contacts
JSR75 – get Vcard from a Contact
...
ContactList contactList = (ContactList)
pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE);
...
public byte[] getVCard(Contact c) {
ByteArrayOutputStream os = new
ByteArrayOutputStream();
PIM.getInstance().
toSerialFormat(c, os, “UTF-8”,
“VCARD/2.1”);
return os.toByteArray();
}
2008 JavaOneSM Conference | java.sun.com/javaone | 20
23. Agenda
Introduction
Funambol Java ME SDK
Push E-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 23
24. Push E-mail Client 1/2
E-mail on mass market handsets
• Java ME Platform
• Blackberry too
All standard e-mail functionality
Push
• SMS and TCP based
Advanced features e.g.
• Send Photo
• Call sender
• Integrated address book eliminates typing of e-mail addresses on
phone
Advertising
2008 JavaOneSM Conference | java.sun.com/javaone | 24
26. Push Implementation
Client waits for server push
• The ds-server detects updates on mail server and notifies the
registered client
Using SMS (also with app. off)
• The app is registered with PushRegistry for incoming SMS
Using Socket (only with app. on)
• CTP
• The app manages a socket open with the server (CTP server) that uses it for
sending notifications
• STP
• The app starts a serversocket and waits for server notifications
• IP natting, proxies and gateways
• Socket and PushRegistry
• Specs are always right... but app. closed means no connection on many
devices and therefore no IP address
2008 JavaOneSM Conference | java.sun.com/javaone | 26
27. Agenda
Introduction
Funambol Java ME SDK
Push E-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 27
28. ObjectOriented vs. Performance and Fragmentation
How much does OO still flows in our veins?
• Fat classes
• “if” vs. polymorphism
• Preprocessing
• Antenna
Provide the best User Experience with
• 800kb of Heap space...
• 512kb of RMS
• 100kb of jar (suggested)
Fragmentation
• Targeting consumers means building many bundles
• Platforms: the latest not always means the best
• Branding phones: same device but with fw variant
2008 JavaOneSM Conference | java.sun.com/javaone | 28
29. Certification process - 1/2
Trusted 3rd party Certification
• to avoid requests for permissions to the user
• network, multimedia, PIM and filesystem access, SMS usage, autostart
• to bypass security restriction of carrier-branded phones
• To access restricted API
Verisign/Thawte
• Developers own private key
• Certificate in chain
• Very popular
• Pay once in a year
Java Platform Verified Program
• GeoTrust
• Pay per device/per release
• Testing house applies UTI general criteria (don't mind if the sync
works)
• The only viable solution for Motorola devices
2008 JavaOneSM Conference | java.sun.com/javaone | 29
30. Certification process - 2/2
Carriers security restrictions
• No “Ask Once” for network connections: client-server apps become
impractical and unrealistic
• No Push Registration
• No JSR 75 access
• ... some carriers avoid also to play a MIDI file (!)
Need an agreement with mobile operators or manufacturers
to enter in operator/manufacturer trusted domain
• Full access to all the API
• No user prompts
2008 JavaOneSM Conference | java.sun.com/javaone | 30
31. Agenda
Introduction
Funambol Java ME SDK
Push E-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 31
32. Funambol is Mobile Open Source
Community Edition
• AGPLv3 (Affero GPL)
• Fixing the ASP loophole (SaaS):
• “If you change or add to the code and you use the software as the basis of an
Internet or network-based service, you must publish your code or buy a
commercial license”
• http://www.fsf.org/licensing/licenses/agpl-3.0.html
Funambol CommEd Contains:
• A data synchronization (DS) server that works on Linux and Windows
• Mobile device clients e.g. Windows Mobile, Java ME Platform, Outlook,
iPod
• E-mail connector that supports POP and IMAP e-mail systems
• Administrator tool
• Software development kits and interfaces
• Documentation
• Community projects, support for Exchange, Domino, BlackBerry and more
2008 JavaOneSM Conference | java.sun.com/javaone | 32
33. Why Open Source in mobile matters?
Broadest device compatibility
First to market advantage
Largest mobile open source community
Mobile innovation, resources and support
Complete code transparency
Reduced risk
Low cost
2008 JavaOneSM Conference | java.sun.com/javaone | 33
34. Developing open source software
Everybody watches you! (therefore write good code)
You belong to a Company and to a Community
Everyone is in the spotlight
Communities need frameworks - Customers need products
2008 JavaOneSM Conference | java.sun.com/javaone | 34
35. Community Programs
Code Sniper
• Awards bounties of up to several
thousand dollars for the development
of connectors, plug-ins, client and
synclets by Community Members
• Enable the Community to influence
the direction and reach of the
Funambol Project through direct
contribution of open source code
• New: connectors for Social Networking
Phone Sniper
• Awards bounties to Community
Members for testing Funambol on
mobile devices
2008 JavaOneSM Conference | java.sun.com/javaone | 35
36. Funambol Community
Hall of Fame
Carlo Codega (Italy) Mike Taczak, Nguyen Mai
http://sazilla.blogspot.com (USA)
• Mozilla Sync http://www.mailtrust.com
• Android Sync • Blackberry Plugin
• iPhone
Paulo Sergio (Portugal)
• Gmail Sync Plugin Patrick Ohly (Germany)
http://sf.net/projects/funambol-gmail http://www.estamos.de
• Yahoo Sync Plugin • SyncEvolution
http://sf.net/projects/funambolyahoo
• iPhone
2008 JavaOneSM Conference | java.sun.com/javaone | 36
37. Agenda
Introduction
Funambol Java ME SDK
Push E-mail Client
Write Once...
Mobile Open Source
On the edge
2008 JavaOneSM Conference | java.sun.com/javaone | 37
38. The new generation of clients
Android
iPhone
Linux Devices: OpenMoko, Qtopia
Symbian
2008 JavaOneSM Conference | java.sun.com/javaone | 38
39. Android
To make a sync application for Android, you
should have:
• An Activity controlling the main UI (start sync,
choose items)
• Some other activities for Settings, About, etc.
• A Service to actually doing the sync
When the user starts the sync:
• The Activity trigger the service using
startService() with an Intent
• The service is started and the method onStart() is
called
The Service talks back to the app using
Intent to notify the sync progress
http://code.google.com/p/funambol/
2008 JavaOneSM Conference | java.sun.com/javaone | 39
40. iPhone
a Safari browser web app for
all users
a native app for developers
and advanced users that have
"jailbroken" their iPhone
• Based on SyncEvolution
• Compiled for iPhone and
connected to the
(undocumented)
AddressBook interface
• A simple COCOA user interface
and the game is done!
We are designing the new
version of the client, based
on the Apple SDK
http://www.funambol.com/solutions/iphone.php
2008 JavaOneSM Conference | java.sun.com/javaone | 40
41. For More Information
Funambol Open Source
• http://www.funambol.com/opensource
Funambol SDK and Documentation
• http://www.funambol.com/opensource/downloads.php
Code Sniper
• http://www.funambol.com/opensource/codesniper.php
SyncML - Data Synchronization and Device Management
• http://www.openmobilealliance.org/syncml/
2008 JavaOneSM Conference | java.sun.com/javaone | 41
42. my.funambol.com
Simple set-up of phones for mobile e-mail and PIM sync
Supports over 700 device models
Sync, view, edit PIM dataList
2008 JavaOneSM Conference | java.sun.com/javaone | 42
43. Summary
Synchronization
• Work in any environment with any device, efficiently and without
configuration/upgrades hassle
Funambol SDK
• Fast development of your sync-applications
Open Source
• The key to beat fragmentation
We are looking for snipers
2008 JavaOneSM Conference | java.sun.com/javaone | 43