An detailed look at 10Duke's SDK

Case Study – 10Duke, social media platform innovators

Chris Mayer
10duke

We asked the Anglo-Finnish company about recent developments after unleashing their Social Media SDK into the wider Java community.

At 10Duke, we’ve
been developing our technology platform for 5 years and began
packaging it as an SDK when its true potential became apparent
after praise from Google and alike. A few weeks ago we released it
to the wider Java community with a simple and well priced
licensing model
.

What we do

The 10Duke SDK is an enterprise class, Java based software
development kit containing a set of very powerful and simple APIs
to integrate with several well known eco-systems. The kit contains
around 1000 Java classes and can be used to extend the
functionality of JDK6 or 7 and build powerful web, mobile and
desktop apps in a very short space of time.

Unlike other Enterprise platforms, the SDK comes packaged with
fully working configurations and components which allow developers
to build prototype applications faster than ever before and is also
flexible, easy to change and extend.

We’ve used the SDK over the past years to create a variety of
applications, from simple video sharing services, to enterprise
collaboration systems. It’s had over 40 commercial production
deployments and we have amassed some impressive statistics in that
time, including never having an application server crash on any
live deployment despite us having several server clusters around
the world.

Integration with Amazon S3

The 10Duke SDK provides a solution to most common application
development requirements. The example below shows storage and
content delivery – central to many web applications. This simple
application features image upload via Bluetooth – handled by a file
system monitor implementation class. The storage includes Amazon S3, local disk and 10Duke
distributed storage.

The XML snippet below shows how simple integration with Amazon
S3 is, as an example:

<ObjectStorage>
    <StorageProvider className="com.tenduke.amazon.s3.S3StorageProvider">
        <properties version="1.0">
            <comment />
            <entry key="content.storage.storageprovider.s3.accesskey">YOUR_ACCESS_KEY_HERE</entry>
            <entry key="content.storage.storageprovider.s3.secretkey">YOUR_SECRET_KEY_HERE</entry>
            <entry key="content.storage.storageprovider.s3.bucketname">YOUR_BUCKET_NAME_HERE</entry>
            <entry key="content.storage.storageprovider.s3.bucketaccessispublic">true</entry>
            <entry key="content.storage.storageprovider.s3.lookup.cache.size">5000</entry>
        </properties>
    </StorageProvider>
    <!-- ... the actual demo application included local disk and 10Duke distributed storage as well... -->
</ObjectStorage>

The 10Duke SDK implements storage using the StorageProvider API.
StorageProvider offers uniform access and management of files,
independent of actual storage and content delivery. This makes it
simple to store files to local disk, as well as storing files
redundantly in a distributed system or externally using a provider
such as Amazon S3.

The application code shows the simplicity of using the
StorageProvider API. Using storage in code is fully decoupled from
what storage is configured:

//
// event contains handle to the received file.
File receivedFile = event.getReceivedFile();
//
// prepare to store the received file in a container named by the Profile configured
// as the authenticated user for handling file uploads.
String containerName = StorageUtils.getStorageContainerName(_receivingProfile);
//
// Adding file to storage is based on an URI as identification for the file. The URI
// can be later used to retrieve the file again.
URI osUri = StorageUtils.constructObjectStorageUri(receivedFile.getName(), containerName);
//
// The next line of code adds the file to storage, which in the demo application case
// was configured to be Amazon S3, local disk and a 10Duke distributed storage deployment.
StorageProviders.instance().getDefaultStorageProvider().put(receivedFile, osUri);

//
// ... accessing the file would simply require:
URI osUri = StorageUtils.constructObjectStorageUri(fileName, containerName);
StoredObjectInformation soi = StorageProviders.instance().getDefaultStorageProvider().get(osUri);
File myFile = soi.getFile();

Partnership with Tekla and achievements

At 10Duke, we work with some of the world’s biggest companies.
We have been working with Tekla on one of
our most recent applications. Tekla are a building modelling
software company whose products have been used in many of the
biggest engineering challenges of the 21st century,
including Wembley and the Birdcage Stadium in Beijing.

Tekla approached us during the early phase of development of a
new product, named Tekla
BIMsight
. The product is a free-to-download building
information modelling tool, allowing structural engineers to
analyse their digital models for structural efficiency. Tekla
needed to distribute their software product worldwide and produce a
user support community for engineers to communicate with one
another to help solve common challenges.

The 10Duke SDK allowed us to build a distribution site for Tekla
that featured integrations with CRM, licensing, identity management
and business intelligence systems. The SDKs APIs allowed for much
simpler integration than could be done without. The user support
community was also built to function on the distribution site, but
crucially, it was integrated into the Tekla BIMsight software tool
so it was always available within the application engineers were
using. The support community allows engineers to quickly get
answers from others who are using the product at that moment in
time, making it easier and a more engaging process for those using
Tekla BIMsight.

We’re continually working to further enhance Tekla BIMsight with
new features and functions and also provide Tekla with additional
services. Panu Laasonen, Project Manager of Tekla BIMsight recently
commented: “10Duke provide an excellent combination of skills and
technology that enable us to provide a unique offering for the
building and construction industry.”

The Tekla BIMsight software application received the Gold Award
for the most innovative product at the
2011 BATIMAT Conference in Paris
, the central meeting place for
the worldwide construction industry

The 10Duke SDK for Social Media can assist any developer who
is building web, mobile or desktop apps and is available for
download today with a free 30
day trial
. Anyone who would like further information about the
SDK can check out the website or contact 10Duke.
Further application examples are available on 

Author
Comments
comments powered by Disqus