Κυριακή 16 Ιανουαρίου 2011

Amazon Cloud Free Usage Tier

To help new AWS customers get started in the cloud, AWS is introducing a new free usage tier. Beginning November 1, new AWS customers will be able to run a free Amazon EC2 Micro Instance for a year, while also leveraging a new free usage tier for Amazon S3, Amazon Elastic Block Store, Amazon Elastic Load Balancing, and AWS data transfer. AWS’s free usage tier can be used for anything you want to run in the cloud: launch new applications, test existing applications in the cloud, or simply gain hands-on experience with AWS.


For more information visit http://aws.amazon.com/free/

But be careful because Amazon Elastic IP assigned to Amazon Ec2 virtual image is not free. So watch daily your account activity in order to be prepared of what you will have to pay. Thats the reason why you should provide your credit card information for the amazon free tier.


M.P.

Τρίτη 11 Ιανουαρίου 2011

M/DB:X - Lightweight Native XML Cloud Database

This is a brand new concept: an XML Database that's simple and easy to use, entirely accessed via HTTP/REST, and ready for use in the Cloud. There's nothing else like it out there, and it's ready to turn the whole idea of handling and storing XML on its head!
It's called M/DB:X, it's already released and it's ready for use. You can get all the details at http://www.mgateway.com/mdbx.html.
So what, in a nutshell, is M/DB:X?

It's an XML database for the Cloud.

What does that mean?

Well, it's a set of REST services that allow you to create and manipulate persistent XML Document Object Models (DOM). You can import XML Documents either as a stream of XML that you send to it in a REST request, or you can ask M/DB:X to fetch a file over the Internet, perhaps from an Amazon S3 bucket.
Alternatively you can build a DOM from scratch, starting with an empty shell containing just a single tag to which you add new tags using simple REST requests.

So what? It can store XML? What's the big deal?

Well, once a DOM is created in M/DB:X you can:
  • Display it using the outputDOM Action. The XML document is returned in the HTTP response
  • Search the contents of the document using XPath queries
  • Inspect the properties of its nodes
  • Modify the properties of its nodes
  • Add new nodes
  • Remove existing nodes
  • Transform a document in any way you like using a combination of the above
  • And, of course, finally delete the document
..all using simple REST requests.
There are, of course, Native XML Database out there already, but what differentiates M/DB:X is two key things:
- its simplicity. M/DB:X disposes of most of the formality and complexity normally associated with handling XML
- you access it using HTTP/REST requests and it returns its responses as XML.

Basically it's like Amazon SimpleDB meets XML in the Cloud!
All the other Native XML Databases are heavyweight and very formal affairs, built around the concept of XML being validated against a schema and with rigorous adherence to XML namespacing rules.
M/DB:X throws all that away and takes the "good enough" approach, simplifying the concept right
down. Much as SimpleDB provides a place where you can throw together spreadsheet-like databases without any need for pre-defining a schema or indexes, M/DB:X allows you to quickly and easily throw together XML documents and play around with them in any way you like.

M/DB:X also bucks the trend by using a non-validating parser. Basically you can throw anything that looks vaguely like XML at M/DB:X and it will do its best to turn it into an XML DOM. It won't return errors and it won't complain that what you gave it doesn't conform to a particular schema or that it wasn't properly structured XML. If it can turn it into a DOM, it will.

This will have the XML gurus out there wailing and gnashing their teeth of course! So why's this a cool thing and not a problem?

Well, for example, it means that you can get it to import "lazy" structured HTML pages from any URL you like and it will tidy it up as best it can and turn it into an XML DOM for you. Once it's done that for you, you can analyse that page, take bits out of it, find stuff in it, all using proper XML techniques and XPath queries instead of hacking about with the raw page text.

Relax, however: give M/DB:X a properly structured valid XML document and it will produce the DOM you'd expect!
Speed, simplicity, ease of operation and near-zero administration are the objectives of M/DB:X.
It's a simple-to-install extension to the M/DB Virtual Appliance, so you can be up and running in no time at all.
XML databases just got simple! Go and check it out!
Oh, and did I mention: M/DB:X is free Open Source software.


Σάββατο 8 Ιανουαρίου 2011

Amazon S3 and BPEL

As Amazon cloud offers web services interfaces to access its resources, it is possible to call amazon web services from a BPEL process. Here is a simple example of a BPEL process that calls the Amazon S3 ListAllMyBuckets operation. In order to be able to test this BPEL process you should have an Amazon account and to subscribe for Amazon S3. Then, you should use openssl as described in an older post (http://softwaretechnologiesblog.blogspot.com/2010/12/soapui-and-amazon-s3.html) in order to generate a signature based on amazon public key in order to execute BPEL process and invoke the AmazonS3 operation.

At this BPEL process two assign activites are used and one Invoke activity.

The BPEL file AmazonBPEL.bpel can be found here


https://docs.google.com/document/pub?id=1rYZq-vOTxg8C3yRKJ1yaCu6_EKB_6FK2owawoOJTJgk

and the AmazonBPELArtifacts.wsdl can be found here

https://docs.google.com/document/pub?id=1NKCpRF9D8UV9IB6-LLvpATcX29Ul978BDS45zP6fCtw

This BPEL process was created using eclipse designor and the BPEL plugin.In order to execute the BPEL process you should download a server like Apache Ode and configure it on eclipse.


M.P.

Πέμπτη 6 Ιανουαρίου 2011

Τετάρτη 5 Ιανουαρίου 2011

Amazon SQS sample java file

The SimpleQueueServiceSample.java file is a sample java file for accessing the following SQS operations

  • createQueue
  • listQueues
  • sendMessage
  • receiveMessage
  • deleteMessage
  • deleteQueue
SimpleQueueServiceSample.java can be viewed here


https://docs.google.com/document/pub?id=1CEHTnyziGiVicf0mLkcjOweDa2ZrLEd5UeNauEB_60k



copy and paste the code into a file named SimpleQueueServiceSample.java under a package named amazonpack.

In order to run the SampleS3 java class you should include in your classpath the following jars

aws-java-sdk-1.1.1.jar
aws-java-sdk-1.1.1-javadoc.jar
aws-java-sdk-1.1.1-sources.jar
commons-codec-1.3.jar
commons-discovery-0.2.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
commons-logging-1.1.1.jar

These can be found on AWS SDK for Java that can be downloaded from here

http://aws.amazon.com/eclipse/

Amazon S3 sample java file

The SampleS3.java file is a sample java file for accessing the following S3 operations

  • createBucket
  • putObject
  • getObject
  • listObjects
  • deleteObject
  • deleteBucket
SampleS3.java can be viewed here


https://docs.google.com/document/pub?id=1D9nPJKkYsiykVsvOTGGHJTXa2a-KmXCOYCa0kRUxxIc



copy and paste the code into a file named SampleS3.java under a package named amazonpack.

In order to run the SampleS3 java class you should include in your classpath the following jars

aws-java-sdk-1.1.1.jar
aws-java-sdk-1.1.1-javadoc.jar
aws-java-sdk-1.1.1-sources.jar
commons-codec-1.3.jar
commons-discovery-0.2.jar
commons-httpclient-3.0.1.jar
commons-logging.jar
commons-logging-1.1.1.jar

jackson-core-asl-1.4.3.jar
jaxrpc.jar

These can be found on AWS SDK for Java that can be downloaded from here

http://aws.amazon.com/eclipse/

Τρίτη 4 Ιανουαρίου 2011

AWS Toolkit for Eclipse and Amazon S3

If you want a java sample for calling Amazon S3 basic operations line createBucket, ListBucket, putObject etc you can use the AWS Toolkit for Eclipse, an open source plug-in for the Eclipse Java IDE that makes it easier for developers to develop, debug, and deploy Java applications using Amazon Web Services. With the AWS Toolkit for Eclipse, you’ll be able to get started faster and be more productive when building AWS applications.
The AWS Toolkit for Eclipse features:

* AWS SDK for Java
* Amazon SimpleDB Management
* Amazon EC2 Management

Download and install the AWS Toolkit for Eclipse using the following Eclipse Update Site:

http://aws.amazon.com/eclipse/

To install on Eclipse 3.5 or higher

1. Open Help -> Install New Software….
2. Enter http://aws.amazon.com/eclipse in the text box labeled “Work with” at the top of the dialog.
3. Select “AWS Toolkit for Eclipse” from the list below.
4. Click “Next”. Eclipse guides you through the remaining installation steps.

For more information visit http://aws.amazon.com/eclipse/

Κυριακή 2 Ιανουαρίου 2011

Mark Zuckerberg Person of the year 2010 - The one who created the facebook

"For connecting more than half a billion people and mapping the social relations among them, for creating a new system of exchanging information and for changing how we live our lives, Mark Elliot Zuckerberg is TIME's 2010 Person of the Year"

This is the statement of Time's for the person of the year, a person that his life and the story of facebook was made a movie called The social network. Read more about this person: 
and watch facebook's offices at


Σάββατο 1 Ιανουαρίου 2011

Παρασκευή 24 Δεκεμβρίου 2010

RESTful Webservices with Java

If you want to start using restful web services in java you can start by following the tutorial at

http://www.vogella.de/articles/REST/article.html#installation_eclipse

A very useful tutorial for creating a simple Hello Jersey rest web service, using jersey jar files, eclipse and apache installed on eclipse.

REST vs SOAP Web Services

I am seeing a lot of new web services are implemented using a REST style architecture these days rather than a SOAP one. Lets step back a second and explain what REST is.
What is a REST Web Service
The acronym REST stands for Representational State Transfer, this basically means that each unique URL is a representation of some object. You can get the contents of that object using an HTTP GET, to delete it, you then might use a POST, PUT, or DELETE to modify the object (in practice most of the services use a POST for this).
Who's using REST?
All of Yahoo's web services use REST, including Flickr, del.icio.us API uses it, pubsub, bloglines, technorati, and both eBay, and Amazon have web services for both REST and SOAP.
Who's using SOAP?
Google seams to be consistent in implementing their web services to use SOAP, with the exception of Blogger, which uses XML-RPC. You will find SOAP web services in lots of enterprise software as well.
REST vs SOAP
As you may have noticed the companies I mentioned that are using REST api's haven't been around for very long, and their apis came out this year mostly. So REST is definitely the trendy way to create a web service, if creating web services could ever be trendy (lets face it you use soap to wash, and you rest when your tired). The main advantages of REST web services are:
  • Lightweight - not a lot of extra xml markup
  • Human Readable Results
  • Easy to build - no toolkits required
SOAP also has some advantages:
  • Easy to consume - sometimes
  • Rigid - type checking, adheres to a contract
  • Development tools
For consuming web services, its sometimes a toss up between which is easier. For instance Google's AdWords web service is really hard to consume (in CF anyways), it uses SOAP headers, and a number of other things that make it kind of difficult. On the converse, Amazon's REST web service can sometimes be tricky to parse because it can be highly nested, and the result schema can vary quite a bit based on what you search for.
Which ever architecture you choose make sure its easy for developers to access it, and well documented.


Πέμπτη 23 Δεκεμβρίου 2010

MIE 2011

The Medical Informatics Conference 2011 theme is User centred networked health care and will take place in Oslo August 28-31 2011. The submission deadline for full scientific papers is January 30  2011.

For more information of MIE 2011 visit the site

http://www.mie2011.org/index.htm

SOAPUI for testing Amazon S3

SOAPUI is a graphical tool which can be used to test web services. With SOAPUI you can import a wsdl file of a web service. Then, the tool provides a sample soap request for each operation included in the wsdl file. After inserting values to the request parameters of the SOAP request message, this message is sent to the server and a SOAP response is returned and presented. 

SOAPUI was used to test Amazon S3 service and worked perfect. For the creation of the  signature value  requested by the Amazon S3 operations I used the openSSL.openSSL can be downloaded from here


 http://gnuwin32.sourceforge.net/packages/openssl.htm

For creating the signature with openSSL you should run in command line after moving to the path openSSL install directory and bin the following command

openssl dgst -sha256 -hmac SECRET KEY -binary aaa.txt | openssl enc -base64

where you should put your Amazon secret key instead of SECRET KEY and in the txt file aaa.txt, the string that should be used for the signature. For example, in case the ListAllMyBuckets operation ishould be executed, the string is AmazonS3ListAllMyBuckets2010-12-22T22:22:43.000Z where 2010-12-22T22:22:43.000Z is the timestamp of the request.

In case, there is an error in signature the SOAP response message returns a Hex Encoded String. This string with the amazon secret key can be used to verify and create the right signature. This can be achieved by using Amazon S3 Signature Tester that can be downloaded from here

http://awsmedia.s3.amazonaws.com/catalog/attachments/s3-sigtester.zip

Try it, is good and simple!!!!!


P.S There is also another tool that can be used for testing web services, the SOAPSonar. This tool is provided on a personal and an enterprise edition. Unfortunately, only the personal edition can be downloaded for free and this version does not allow to send messages through SSL. Thus, it is impossible to test Amazon S3 web service.


M.P.

Τρίτη 21 Δεκεμβρίου 2010

Eclipse IDE and SOA

The Eclipse IDE is an open source development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle. There exists a variety of plugins that can be downloaded for free and installed on Eclipse in order to build, manage and deploy a software component. Some example of plugin components for SOA are the BPEL designer and Web Services Tools.
Here is a link with a simple example of a HelloWorld BPEL process created oin Eclipse

http://people.apache.org/~vanto/HelloWorld-BPELDesignerAndODE.pdf

Δευτέρα 20 Δεκεμβρίου 2010

Google Health vs Microsoft Health Vault

During December 2008 and January 2009, the user experience research firm User Centric conducted an independent comparative usability study of two existing online personal health record applications, Google Health and Microsoft HealthVault. (Neither Google nor Microsoft commissioned or participated in this study in any manner.) During this study, 30 participants completed key tasks using each PHR application and provided qualitative feedback, ratings and preference data on five specific dimensions: Overall usability, utility (usefulness of features), security, privacy and trust. Participants performed up to seven tasks on both Google Health and Microsoft HealthVault, which included three tasks that explored each application's unique features. Midway through the study, a third PHR application, MyMedicalRecords.com, was added to gather additional qualitative data.
Two PHR Systems: Figure 1: Homepages of Google Health (top) and Microsoft HealthVault (bottom) as they initially appear to users. 
Figure 1: Homepages of Google Health (top) and Microsoft HealthVault (bottom) as they initially appear to users.
The majority of study participants found PHRs to be useful and stated that they had an interest in building their own PHRs after the study. Overall, participants indicated that they found Google Health more usable because navigation and data entry of health information was easier than on the other applications. Participants said that the Google Health application utilized more familiar medical terminology and provided a persistent health information profile summary.

Based on an analysis of the study data, User Centric has identified the following trends:

Usability

Overall, participants liked how the Google Health interface allowed them to quickly enter medical information. The left hand navigation, tabs, and profile summary all contributed to a fairly smooth user experience for data entry, which is a critical PHR task. However, there was still room for improvement. Participants had trouble attaching dates to health information, figuring out where to start, and finding where they could add another family member.
In general, participants had more trouble with the Microsoft HealthVault interface. The most troublesome elements were the confusing navigation, the presentation of all terms in medical jargon, and the inconsistency between different data entry elements. However, reaction to Microsoft HealthVault was not completely negative -- even though they struggled to enter their health information, several participants still reacted favorably to the very high level of detail the system allowed them to enter. In addition, participants liked the ability to add details to an item immediately after adding the item itself. This represented an efficient flow that Google Health did not provide.

Utility

Participants found PHRs to be fairly desirable by the end of the study. The PHRs' baseline functionality was appealing, and both Google Health and Microsoft HealthVault each had a few well-received exclusive features
Google Health's preference on this dimension is likely due to two factors. First, participants sometimes seemed to confuse utility with usability, even though researchers specifically asked about "usefulness of features." This, along with Google Health's better ease of use, would explain a shift in participants' utility preference. Second, Google Health included the highly desirable drug interaction feature, which was ranked most appealing out of all the features in the post-test questionnaire. This was the only outstanding feature among the six PHR-exclusive features, so it may also have boosted the perception of Google Health's utility.

Security, Privacy and Trust

The key contributors to Microsoft HealthVault's more frequent preference on security, privacy and trust were a strong brand image, professional-looking visual design and a higher perceived information content.
However, even though participants more commonly preferred Microsoft HealthVault for these dimensions, when rating the two PHRs they scored Google Health almost equally as highly. Google Health's high rating is likely due to its brand reputation and its up-front presentation of the terms of use and legal agreements. One important negative, though, was Google's strong positioning in the search and e-mail domains; it is likely that this contributed to Microsoft HealthVault's overall preference here.

Overall

User Centric's comparative study found that neither Google Health nor Microsoft HealthVault were perfect applications; each had flaws in the user experience which were seen to reduce participants' willingness to adopt PHR technology. However, participants preferred Google Health over Microsoft HealthVault on the whole, mainly due to Google Health's greater ease of use. Although features, security, privacy and trust certainly did influence participants' overall evaluations, it is critical to note that their major difficulties with both applications - and their strongest criticisms - were related to the user experience. Improvements to the user experience therefore represent the largest opportunity for improving the patient's experience with a PHR.
Based on this usability study, User Centric has identified several best practices to be included in a working model for PHR interfaces that facilitates user adoption.

From http://www.usercentric.com/

Free educational software suite for kids 2 to 10 - GCompris

GCompris is a high quality educational software suite comprising of numerous activities for children aged 2 to 10. Some of the activities are game orientated, but nonetheless still educational. Below you can find a list of categories with some of the activities available in that category.
-  computer discovery: keyboard, mouse, different mouse gesture, ...
-  algebra: table memory, enumeration, double entry table, mirror image, ...
-  science: the canal lock, the water cycle, the submarine, electric simulation ...
-  geography: place the country on the map
-  games: chess, memory, connect 4, oware, sudoku ...
-  reading: reading practice
-  other: learn to tell time, puzzle of famous paintings, vector drawing, cartoon making, ...
Currently GCompris offers in excess of 100 activities and more are being developed. GCompris is free software, that means that you can adapt it to your own needs, improve it and, most importantly, share it with children everywhere.

Κυριακή 19 Δεκεμβρίου 2010

Health Suggestor


If you want to see what medical tests you should take according to your age and sex or for a lovely person, use the following "my healthfinder".