What is the ONE Platform?It is an SOA application server optimized for real time communications between desktop, web, mobile, and service containers. These containers provide an easy to use API that makes it very easy to build services and applications. The containers have code that provides tight integration with their native platform, be it on the server, or on the client device. This allows you to write managed code that leverages native device capabilities, while still enjoying a horizontal set of features and functionality provided to you by the ONE Platform as a whole. You do not have to write any code to replicate this functionality yourself. |
The ONE Platform is a combination of application and service containers… |
What is analogous to the ONE Platform?In order to understand what the ONE Platform is, it is best to use an example. Microsoft Exchange runs on the server and has client applications (Outlook on the desktop, OWA on the web, and Windows Mobile/iPhone clients on smart phones). Exchange syncs all of your PIM data (contacts, calendar, tasks, and notes), and email with all its client applications. You can be logged into Exchange using multiple instances of each client app. You can compose a draft email using one Outlook client, and it will show up on all other Outlook clients, web clients, and mobile clients that you are logged into. The ONE Platform similarly has real time sync between desktop, web, mobile, and services. It allows multiple concurrent user sessions from multiple devices just like Outlook. Now imagine if your product could have this real time sync capability without having to write a single line of code. Another example that helps explain the ONE Platform is Google Latitude. With Latitude and Google Maps on your mobile device, your location/presence information is available to the Google universe. Services such as Google Talk and GMail can access and take advantage of your presence information to deliver location based advertising. With the ONE Platform you can build apps and services that have location/presence tracking, mobile advertising delivery, and location based services. Now imagine if you had support for location based services, mobile payments, flexible asset licensing, and a whole host of other capabilities on all client platforms; with the ONE Platform all of this is possible. Lifecycle management capabilitiesThe ONE Platform makes it inexpensive and easy to manage the full lifecycle of your product from inception and design, to implementation and testing, to deployment and monitoring, to sunset. Service and application versioning and upgrades are trivial for apps and service that use the ONE Platform. Things like registry, and repository are built in as well. The ONE Platform is self-healing and constantly monitors itself and provides you with real time notifications in case any human input is required. It has very powerful reporting capabilities to let you see its current state. |
Security, Performance, and ScalabilityThe ONE Platform provides built in security via SAML, HTTPS network transport for all communications, role based access control, encryption, and a declarative security model. The ONE Platform is extremely fast and scalable, while being resilient to network outages. It does this while requiring very few resources (CPU, network, RAM, and I/O). This video highlights the use of the ONE Platform in the Wicked Blogging App for BlackBerry:
|
The ONE Platform containers and APIs…
| The Cloud – the service container runs in a cloud and allows services to run inside of it. These services can provide functionality directly to apps (web, mobile, desktop), as well as other services. Services can also be proxies to existing service providers, like bing.com search, weather lookup, cellid lookup, twitter, email, etc. | Desktop app container - this container is similar to the BlackBerry container, only much much more powerful, and optimized for Windows, Mac, and Linux, running on desktops and laptops. The UI SDK is optimized for desktop/laptop computers. The RPC and other platform APIs are the same. | Android container - this container is similar to the BlackBerry container, only made for Android. The UI SDK is optimized for Android. The RPC and Persistence SDK and other platform APIs are the same. |
| BlackBerry container – this container runs inside of the BlackBerry device and provides ScreamingToaster BlackBerry applications with functionality like login, new user creation, user profile sync, location sharing, payments, licensing, camera integration, address book integration, etc. It also provides a UI, RPC, and Persistence SDK. The application running inside of the container doesn’t have to provide these platform features, since they’re provided by the container itself.
This leaves the application free to deliver functionality specific to it. Eg: Wicked provides blog editing capabilities, and Mylisty provides list management capabilities. Both share a common container and provide the same login, security, service integration, etc. |
Web Browser container – this container runs inside of the web browser (any web browser), and provides ScreamingToaster Web applications with functionality like login, new user creation, user profile sync, etc. It also provides a UI, RPC, and Persistence SDK.
Much like the BlackBerry container, the apps running inside of this container doesn’t have to provide these platform features. Eg: Mylisty provides a web app that allows you to manage lists concurrently with the BlackBerry app. |
APIs – Other services, web widgets, and RSS readers can all access information running in the platform, if it’s exposed by specific services, with the proper authorization, authentication, security, and encryption.
APIs can be open, or locked down, or anything in between; security & authorization & authentication is very fine grained in the platform, and can be optimized for different kinds of services. Eg: you might have some a list that you want to share with anyone using Mylisty, and you might have some private list that only you can access. |
The ONE Platform has a large portfolio of services…
| Presence – any service or app in the platform can be notified of a user’s mood, if they want to interact with others freely, in a limited manner, or just be left alone. This is more than just location, it’s their mood based on social and physical context, and includes status messages, mood information, picture, and much more. | Licensing – any service or app in the platform can create and accept licenses. License propagation occurs in real time in the platform. Eg: you can buy a license using a credit card in Mylisty BlackBerry app, and within seconds, this paid license will be propagated to the Mylisty web application that you’re also logged into. Apps can accept multiple licenses, and can enable/disable functionality based on the array of licenses available. | Payments – any service or app in the platform can easily accept credit card payments. For eg, this opens the door for physical/social context based mobile ecommerce. |
| GeoLocation – any service or app in the platform can easily find the end-user’s location, depending on what the client platform is (web/mobile/desktop). Geocoding and reverse geocoding is trivial using the platform.
Lots of location based functionality is available to apps/services using the platform (like location based weather, ‘who’s around me’, location based wiki information, etc). Application data can then be shared with people in close physical proximity to an end-user. |
Email – any service or app in the platform can easily send emails, as plain text, HTML, or with attachments. So any application data in the platform can be sent out as HTML, PDF, or plain-text in an email. | Twitter – any service or app in the platform can easily tweet status messages, and twitpic images. Twitter is used as a messaging service, similar to Email. You can create your own messaging services, and leverage others very easily. |
| RSS – any service or app in the platform can easily syndicate it’s content (and provide different levels of security as discussed in the previous section). This makes the platform great for syndication. For eg, apps and services can generate lifestream feeds based on where a user is, how they are using these apps, and their mood, etc. | Blogs – any service or app in the platform can easily publish content to blogs. This makes the platform a great for publishing content. | and much more… and of course, you can build your own! A SOA registry/repository is built into the ONE Platform, making it trivial to share service implementations, and publishing services is transparent. |
Contact us if you’re interested in using The ONE Platform in your apps/servicesYou can very easily create your own apps and services using the ONE Platform, that you can host internally or on the global Internet. The building blocks for plenty of apps are already provided in the platform, making app creation as simple as mixing and matching modules, crafting some user interface elements, and deploying! It’s really that simple! We have fantastic SDKs, great documentation, and lots of sample code to get your started. Contact us if you’re interested in the Enterprise and Small Business editions of our appsKeep in mind that all ScreamingToaster apps (like Wicked and Mylisty) are available in Enterprise and Small Business editions. You can essentially host the apps, the services, and the information internally in your Intranet, and replicate these environments across different Business Units in your organization. Here’s an example of a company using our Enterprise apps. |
|