S-CASE BLOG | GiftCase

Last time we took a look into what GiftCase was doing through several scenarios covering certain topics. Now, let’s dive into the core of GiftCase, explaining how it works from an architectural point of view.

entpic1

As we can see depicted above, the most important, core part of GiftCase is the Application Back-end. It is here that the generating recommendation takes place, utilizing algorithms which derive their informed input from several external services. But first, in order for the Back-end to collect informed input, this input has to be properly exposed, meaning it has to come to life through preparation in respective external services.

One such service is the Telco Analysis & Reasoning, which fetches user data from the Telco Network via CDRs (Charging Data Records). Each CDR contains various aggregate, summarized data regarding multiple types of events (such as calls and network sessions) in the Telco Network. Based upon this data from the CDRs the Reasoning Engine containing various data analysis algorithms within the Telco Analysis & Reasoning service provides output – in the form of subscriber info. Consider the following simplified example – extracting two types of information from the CDRs – the online time (i.e. amount of time the subscriber has spent online on the Internet) and traffic amount (i.e. amount of megabytes used). Reasoning upon this information it is possible to classify a subscriber as a:

  • Multimedia subscriber – having relatively low online time with a high traffic amount, e.g. watching YouTube videos;
  • Non-multimedia subscriber – having high online time with a relatively low traffic amount, e.g. reading a lot of text online.

When queried for such information by the Application Back-end for a specific GiftCase user, the Telco Analysis & Reasoning service provides it through the respective API. Knowing the type of user is important when recommending gifts; a multimedia subscriber is more likely to be satisfied with a movie than a book as a gift.

Similar to how the Telco Network provides CDRs for reasoning and analysis, the social networks (e.g. Facebook) provide a friend list and login features for a specific user. Furthermore, content providing services such as eventful, TasteKid, Google Books and BestBuy provide content and/or information in the form as follows. Eventful provides event information, TasteKid provides a means to fetch similar music/movies/books, Google Books provides book prices and details and BestBuy provides music/movies prices and details. A mashup of all these services is necessary in order for GiftCase to work properly as intended.

Gmail is used as an external service providing push notification functionality. Once user sends a gift, the recipient receives a push notification in the form of an email. Alternatively, the notification is visible within the GiftCase Application Front-end.

GiftCase provides to its users a modern, user-friendly, web-based Application Front-end. State-of-the-art technologies such as HTML5, CSS3, Bootstrap, jQuery and Apache Cordova were put to use during the development phase. Below is a screenshot of the desktop experience, showing the landing (main) page.

entpic2

Screenshot below depicts the process of viewing recommended gifts, choosing one and successfully sending it to the gift recipient.

entpic3

Finally, a gift recipient is notified of an incoming gift and is able to accept it or reject it, as depicted below.

entpic4

 

Since GiftCase Application Front-end is web-based and is developed with mobile users in mind, it works great with all major mobile operating systems such as Android and iOS.

If you want to know more about S-CASE or try using it today, then you can get it for free right here.

 

S-CASE Blog | Requirements Modeling

Requirements Modeling

The user of S-CASE can add software requirements in the following formats:

  • Functional requirements in textual form;
  • Graphical storyboards; and
  • UML diagrams in the form of images.

The following sections provide an overview of inserting and annotating requirements for an S-CASE project.

Modeling Functional Requirements

Adding and Modifying Requirements

Functional Requirements are created and annotated using the Requirements Editor Eclipse plugin. To create a new rqs file, the user can either select the Create requirements dashboard button or open the File menu and then New and select the Requirements Editor fileoption.

Upon following the steps of the wizard to create a new rqs file in the project, the user may add the functional requirements in text form in the first page of the Requirements Editor, as shown in the following screenshot.

Drawing

The user can add a new requirement by pressing the plus button.

Requirements can also be deleted, using the delete button, or modified, using the modify button. Note than if a requirement is deleted or modified, the corresponding annotations of the requirement are also deleted. Finally, requirements can be moved down or up using the downand up buttons.

Viewing and Modifying Annotations

Annotations can be viewed and modified in the second page of the Requirements Editor. An example showing an annotated requirements file is shown in the following screenshot.

Drawing

As shown in this screenshot, there are two types of annotations, entities and associations. Entities declare the type of each word (or phrase), and they can be one of:

  • Actor
  • Action
  • Object
  • Property

Associations declare the relations between different entities. The following relations are supported:

  • IsActorOf, which is defined from an Actor to an Action;
  • ActsOn, which is defined from an Action to an Object or from an Action to a Property;
  • HasProperty, which is defined from an Actor to a Property or from an Action to a Property or from an Object to a Property;
  • RelatesTo, which is defined from an Object to an Object.

Annotations are added and deleted using the right click context menu, while any modification of annotations is automatically saved to the file.

An entity annotation can be created by selecting a word or phrase and right clicking on the selected word. After that the user can select the appropriate entity from the context menu.

CreateEntityAnnotation

Associations are created by right clicking on existing entity annotations. The Requirements Editor automatically determines all possible associations from the currently selected entity and groups them in categories according to their type.

CreateAssociationAnnotation

When no association is possible from a selected entity or any possible target entities are already selected, the tool does not allow selecting the association.

DisallowAssociationAnnotation

Finally, deleting an annotations is simple. One can delete an annotation by right clicking on it and selecting the option Delete. Note, however that when entity annotations are deleted, the related associations are also deleted.

CascadeDeleteAnnotation

The Requirements Editor also supports automatically annotating software requirements using an NLP parser. This is performed by right clicking on the rqs file and selecting the option Auto annotate.

Note that when selecting this option all annotations are removed. Additionally, the user can select to clear the annotations of a file using the menu option Clear all annotations. This command is particularly useful if the user wants to modify the requirements in the first page of the editor.

Finally, note that automatic annotation should be used as a helpful complement; however it is important that the user inspects the annotations and modifies them if required.

Modeling Storyboards

Adding and Modifying Storyboards

To create a new sbd file, the user can either select the Create storyboards dashboard button or open the File menu and then New and select the Storyboards Diagram option.

Upon following the steps of the wizard to create a new sbd file in the project, the user may populate the diagram with nodes and paths. The available nodes are shown in the tool palette.

Palette

Storyboard and Action are similar within the same diagram. Actions, however, represent atomic operations, whereas Storyboards must have their own diagram consisting possibly of several actions.

Properties are interpreted as parameters of Actions. They have to be connected to some Action of the diagram.

Conditions can be used to split the main flow of a storyboard. Each condition must have exactly two outgoing paths.

Each Storyboard Diagram must have exactly one StartNode and one EndNode. The StartNode is the first node of the diagram and the EndNode is the last node of the diagram.

Finally, Path is used to connect the nodes of the diagram to one another. The have one direction, and in the case of an outgoing Condition path, they also have a label.

The palette is also available at any time at the position of the mouse.

MousePalette

So, the user can select any element from the Palette by clicking on it and place it on the Canvas by clicking once again.

The following figure depicts an example storyboard diagram.

Storyboard

The properties of a diagram element can be changed by clicking on it and changing the values in the Properties editor.

Properties

For Action, one can change the name, see the other connected nodes and properties and select the type of the action, out of the 4 CRUD types, Create, Read, Update, and Delete, and the type Other. Most other nodes (and paths) have only a name, while storyboard has also the Precondition option, as the diagram precondition.

PropertiesStartNode

Finally, apart from the properties of a storyboard diagram, the user also has to annotate the diagram actions. This is accomplished using the commands of the right-click context menu of storyboard files. The Annotate Diagram Instances option opens the sbd file in Requirements Editor and presents the actions of the diagram to the user so that he/she may annotate them. The Auto annotate diagram instances option automatically annotates the text instances using the NLP parser. Finally, the user can select to clear the annotations of a file using the menu option Clear all annotations.

Validating Storyboards

Storyboard diagrams have specific validation rules. Storyboard Creator checks these rules every time a diagram is saved and presents them in the Problems tab of Eclipse.

Several validation errors are shown in the following figure.

Validation

In the above example, the start node does not connect to any node, the Action “Add tag” does not connect to any node, and there is no connection (i.e. possible path) to the Action “Create Bookmark”. In addition, a condition path of Condition “User wants to add tag?” does not have a name.

The messages shown by Storyboard Creator are informative, so the user should be able to correct the diagram and upon saving, these messages will disappear.

Modeling UML diagrams

Importing UML diagram images

To create a new uml file from an image the user should start the import wizard by selecting the option File > Import.. from the menu. Eclipse presents a list of import wizards, where the user can expand the node “S-CASE” and select “Import UML diagram from image”.

Import uml image

The UML image import wizard is based on a standard Eclipse import wizard. The wizard consists of two pages:

  1. UML diagram image selection,
  2. Export diagram XMI.

The first page asks the user to select an image file containing the diagram, and denote the type of diagram to be detected – activity or use case diagram. Once an image is selected, a preview of the image is shown in the page. Selecting Next continues the wizard.

Import wizard first page

The Export diagram XMI page asks the user to select the location of the resulting model file (a project or a folder in the workspace), and give a File Name with a “uml” extension for the resulting file. Selecting the option to open the result in editor will start the associated Eclipse editor (based on the file extension) after the recognition finishes. Several advanced options can also be configured in this page. Note also that by selecting Advanced<< and then check the “Show images” checkbox, the images resulting from intermediate processing stages of the recognition will be displayed.

Import wizard second page

The recognition starts when the user selects the option to ‘Finish’ the wizard. Progress of the recognition can be monitored in the Eclipse view ‘Progress’. The output of the process is stored in the uml file under the specified project/folder that the user has defined in the wizard.

Generating Papyrus UML diagrams

The user has also the option to use Papyrus to view or edit the created uml file. The user can right-click on the created uml file and select“Convert to Papyrus Diagrams”. The Papyrus diagram is generated and opened with Papyrus editor.

Generate papyrus uml diagram

Want to give S-CASE a try? You can find everything you need right here to install and start using S-CASE today.

S-CASE Blog | YouRest Web Directory

YouRest web directory application

The purpose of the YouREST web directory application is to provide a centralised interface for advertising the S-CASE Web Services. YouREST provides a catalog of services and a web site to browse and search this catalog. These Web Services may be external services registered by the user in the YouREST platform, or RESTful web services produced by the S-CASE MDE and Web Service Composition mechanisms. The intended user is able to browse all the registered web services to the platform and view their metadata. Searching functionality is also an option.

API Description

The initial page of the tool can be accessed from the URL http://yourest.scasefp7.com/ and prompts user to login to the platform.

Initial page

By selecting “Sign In”, the user may login or create a new account to YouREST platform. In case that the user is not registered, a First/Last/Screen Name and a valid email address should be entered. The text verification should be also inserted for preventing the platform from spamming.

The YouREST login page The YouREST registration page

After a successful login or registration, the user is directed to the main page of the YouREST, where the list of the registered web services are depicted. The home page contains also the list of the application domains, searching functionality and the functionality to register a new web service.

The YouREST home page

It should be noted that each web service listed in the home page, may contain multiple web service operations. These operations, along with the web service’s metadata, can be seen by selecting the search icon button of each web service. The above mentioned information appears in a new popup window.

Web Service metadata in YouREST

In case that the web service belongs to the logged in user (i.e. current user has registered the web service in YouREST), the title, description and the image URL of the web service can be edited. The user can also delete operations of the web service, or even delete the whole web service (by consecutively deleting its operations).
Drawing
Drawing

It should be noted that the operation delete button is only enabled for the logged in user to whom the web service belongs, as for the edit operation. The searching functionality together with the left panel that contains application domains list, limit the results presented to the user, according to keywords (contained in web service title, description and operation names) or the application domain category that the web service was registered.

SAT Tool

The Add a new service button, redirects the user to the web service registration page. In this page the user interface of the Web Service Annotation Tool (SAT Tool) has been integrated with YouRest. The user can register a new web service by providing a WSDL/WADL or RAML file. For the semantic annotation of an external web service, a valid URL containing the web service description (for WSDL and WADL documents) or the selection of a RAML document selection is required. Thus, when the user selects a valid web service documentation and selects the Parse and align button, the web service description is parsed in the background and the classification algorithms classify the web service operations according to the three-level categorisation method.

The Web Service annotation page of YouREST

When the parsing and classification background operations are finished the predicted domain, real/ideal matching and i/o matching is computed. The predicted application domain is presented under the Predicted Domain panel as a dropdown menu, in case a user wants to change it.

Predicted Domain panel

In case that the web service to be annotated does not belong to any existing application domain, the user may request a new one by selecting Propose a new application domain button. This will open a new dialog, requesting the new domain name and a short description.

New Application Domain

Requesting a new application domain, will alert by email the SAT Tool administrator for this request for further actions on integrating all data required in the ontology. Each operation of the web service is being matched with an ideal operation belonging to the predicted application domain. The operations are presented in a dropdown menu and the user may select and view the desired one.

Web Service Operation List

By selecting one web service operation, the corresponding matched ideal operation is displayed in the right dropdown menu along with the classification score that has been computed by the second-level classification step. The classification score has been computed by the classification algorithms presented, and it is a normalized to [0,1] double value.

The Web Service annotation page of YouREST

It should be noted that the ideal operations presented in the ideal operation dropdown menu is in descending order according to the classification score computed by the classification algorithms. The inputs and outputs of the web service and ideal operation are presented in a tree-like representation, while the computed alignments are displayed in the two tables.

The Web Service annotation page of YouREST

For each input/output mappings a normalized to the interval [0,1] score has been assigned according to the classification results of the third-level categorisation. By selecting one row of the mappings, the corresponding concepts in the two trees are highlighted. It should be noted that one concept from the web service operation can be only aligned with one concept of the ideal operation. The user may fine tune the mappings by dragging one concept from the web service operation tree and drop it to the ideal operation tree.

Dropping a concept to the ideal operation tree

For saving the mappings between one web service operation and an ideal operation, the Save alignment for this operation button should be selected. Then the mappings are saved in the ontology and the operation is considered as aligned.

The alignment saving indicator
The alignment saving verification

An already aligned operation cannot be aligned again, except if the alignment is deleted. In this case an error message appears.

Error message when trying to save an already aligned operation

In case that the ontology ideal operations are not adequate, the user may create new ones per selected application domain. This can be performed by selecting the Create new Ideal Operation button. A new dialog appears on the page, where the new ideal operation name should be entered. The ideal operation name should be unique, and a warning message will appear if it already exists.

The new ideal operation dialog

Except from the ideal operation name, each new ideal operation should have at least one input and one output. Adding inputs or outputs can be performed by right-click on the Inputs or Outputs nodes.

Adding new concepts in Inputs of a new Ideal Operation

The menu that pop-ups allows the addition of a primitive object, the addition of a non-primitive object or deletion of an inserted object. For the addition of a new non-primitive object a non-empty object name should be entered. Then the new ideal operation tree is updated accordingly. Adding a new non-primitive object can be performed under the Inputs or Outputs nodes or under an inserted non-primitive object. Additionally, primitive objects can be added under the Inputs or Outputs nodes and under an inserted non-primitive object.

Adding new non-primitive objects in a new Ideal Operation

For inserting a new primitive object, the Object name and the data type selected from the predefined objects in the dropdown menu are required.

Adding new primitive objects in a new Ideal Operation

When finishing with the insertion of inputs and outputs of the new ideal operation, the concepts are entered in the ontology, and the dropdown menu, of the ideal operations of the application domain is updated including the new ideal operation. It should be noted that the new ideal operation will be available to all registered users of the YouRest.

The SAT Tool provides also the functionality to declare some IPR policies to each registered web service operation. With these options, the user may add a license to the service or charge for example the use of the service by third-party users. The Access Info settings are available by selecting the Set Access information for this operation button. The new dialog that opens contains following fields.

  • Service Access Description: A description of the access information
  • Is accessible to countries: A list of the countries that the operation is available to. Selecting multiple countries can be performed by selecting Ctrl button.
  • License name: The license name of the operation
  • License description: The description of the license
  • Is proprietary: Selection if the license is proprietary or not
  • Trial schema: If the use of operation has a trial period
  • Duration in days: The number of the free trial days
  • Duration in usages: The number of free usages
  • Offers full functionality during trial: If the operation is fully operating during the trial period
  • Limited Functionality Description: A short description of the trial schema
  • Discount Schemas: Allows the insertion of discount options if the use of the operation is coupled with the use of another operation of the same user
  • Paired Service: The paired service that the discount is valid
  • Discount Reason: A short description on the discount reason
  • Discount (%): The percentage of the discount

By setting the operation access information and saving the alignment, the web service ontology is updated and all the information is stored in the ontology repository. This allows having restrictions and business rules into the registered web services of S-CASE.

The operation access information dialog

Connection with public web service directories

YouREST, provides two different tabs for presenting the Mashape and ProgrammableWeb Web Services.

The tabular user interface of YouREST

Each tab, contain the corresponding web services along with the application domains defined in each Public Web Service Directory. Searching is also a functionality.

The Mashape Web Services in YouRESTThe Programmableweb Web Services in YouREST

Each Web Service contains also some metadata as in S-CASE Web services. These can be shown by selecting the button search icon, which displays a dialog that contains all retrieved metadata along with the operations listed in each Web Service.

Mashape Web Service metadata

Want to give S-CASE a try? You can find everything you need right here to install and start using S-CASE today.

S-CASE Blog | Hackathon4business

2

The S-CASE project coordinators, Aristotle University of Thessaloniki (AUTH), organised a set of hackathons this month to help showcase the final S-CASE solution. Aimed at two sets of key users the aim was to shape the development process while putting the S-CASE solution in the hands of potential future collaborators.

The two hackathons, titled ‘S-CASE hackathon4business’ and ‘S-CASE hackathon4students’, targeted web developers and undergraduate students respectively. Centre for Research and Technology Hellas / Information Technologies Institute (CERTH/ITI) participated in the hackathons as well, with a session on the Web Service Composition tool.

In this blog post we will focus on the results of the Hackathon4business, which specifically targeted web developers of companies and organisations in the vicinity of the Thessaloniki area.

Pre-hackathon survey results

Before starting the S-CASE hackathon we asked the registered developers to fill out a survey. We got 19 responses and the results can be found below:
pre-info1

pre-info2

pre-info3

pre-info4

pre-info5

pre-info6

pre-info7

pre-info8

pre-info9

pre-info10

Post-hackathon survey results

After the hackathon has finished and the developers have seen the platform and the procedure, we asked the attendees to fill out another survey. Fifteen (15) developers responded and the results can be found below.

post-info1

post-info2

post-info3

post-info4

post-info5

post-info6

post-info7

post-info8

post-info9

Through the hackathons 6 minor bugs were identified, which is a good number based on the fact that S-CASE was tested for more than 2 to 3 hours by 63 individuals on both days.

If you want to start using S-CASE today, or simply want to get in touch to find out more, please contact us

S-CASE Blog | GiftCase Use Case

In today’s blog, S-CASE partners Ericsson Nicola Tesla discuss the role that GiftCase will play in utilising the S-CASE platform.

Okay, so imagine the following scenario:

Ewan is notified of his cousin’s Delilah’s birthday tomorrow. He launches the GifCase application on his smartphone and browses through list of recommended gifts she might like. After selecting a song she’s likely to enjoy the application notifies Ewan that Delilah is currently in roaming and is not able to use data traffic. Ewan decides to proceed with the purchase as Delilah will be back home soon and receive the gift once she’s back online. Ewan is charged for the purchased song via his telco’s bill and is pleased he didn’t have to give away his credit card information.“

How does GiftCase work?

GiftCase solution is an application consisting of mobile front-end and server back-end. The front-end part may be an Android application enabling choosing and purchasing gifts in a few clicks. Of course, the Android application will also notify the receiver of the gift. The back-end server prepares the personalized list of gifts for a specified receiver and gift class. In order to perform the personalization, it may use 3PP services (e.g. Facebook) for retrieving (a subset of) mentioned user data.

Since the solution is easily upgradeable, more 3PP services can be employed and added in the course of development; this would greatly improve utilization of user’s data at the operator’s network with his/her data at a 3PP service provider such as Facebook, LinkedIn or LastFM.

GiftCase

And that is the beauty of using S-CASE. The easy upgrading allows for better use of the user data in the application of the service and more closely aligns these benefits with the social network being used.

If you’re interested in hearing more about how S-CASE can help developers rapidly prototype web services then you can get in touch and request a demo today.

S-CASE Blog | 3rd Party Web Services in S-CASE

External web services can now be registered into the S-CASE ecosystem. The only thing that is required is a textual description, in the format of WSDL, WADL or RAML. Pretty cool, huh?

CERTH has developed a web application, namely the SAT Tool, for registering and annotating web services that rely on the SOAP or RESTful protocols. That might sound complicated, but let’s explain what it means.

By providing the web service description, SAT Tool can automatically provide the semantic relations (mappings) of the web service elements with the predefined ontology of Web Services. This categorization scheme applies on the functional elements of web services and consists of three levels: application domain level, operation level and inputs/outputs level.

The tool uses Machine Learning techniques and lexicographic algorithmic techniques for matchmaking between web service functional elements and proper concepts within the ontology. The end-user may fine-tune the mappings through the user friendly web interface. Web Service metadata, such as SLAs, cost, discount options etc., may also imported through the application.

The semantic annotation/registration of external web services allows their proper use by other S-CASE tools, such as the service composition module for composing workflows of services taking into account high level textual requirements.

If you want to know more about S-CASE then read our blog, or alternatively if you want to start using S-CASE today, go for it.

S-CASE Blog | wapo.io in the Game of RESTful Application Development

In today’s blog Marina Stamatiadou talk about Lego. And S-CASE, of course, with the focus on how both Lego and Software Services need flexibility to produce the desired effect.

Everyone knows Lego! Lego bricks can be assembled and connected in many ways to construct several objects like vehicles, buildings, decorations, and even working robots. Anything constructed can be taken apart again and the pieces can be used to make other, completely different objects. The core idea of Lego is that “any piece can be combined with any other piece”[1].

Lego, Ice Cream and S-CASE: what’s not to like?

Lego, Ice Cream and S-CASE: what’s not to like?

In the software world things can be quite similar, as one can create multiple software components and execute them in such a way which produces the desirable result. However, this approach is very abstract while reality is far more complex. Software components are not always standalone and they might have more than one entry points. The most common example comes from the object-oriented software engineering. In this paradigm class methods can be called multiple times from one or more classes and execution order is not sequential neither follows one and only pattern.

On the other hand, there comes the REST approach which tries to overcome complexity in the field of web applications. REST defines a set of architectural principles by which you can design web services that focus on a system’s resources, including how resource states are addressed and transferred over HTTP by a wide range of clients written in different languages.[2] REST services are simple, standalone and dedicated to satisfy a specific functionality.

But, can one combine the core object-oriented principles with the RESTful approach? How? And what will the result be? The wapo.io team will give the answer to this question by creating a software platform that will address both end-user’s and developer’s energy-related needs. The main idea came from the fact that, today, there is a big variety of energy management software applications that provide end users with useful energy-related analytics while there is also an increasing number of energy-management APIs that facilitate the job of developers who work in the respective domain. However, there is still a gap filling these two approaches. wapo.io will be the bridge to fill in this gap and to create the appropriate “Lego” infrastructure.

wapo.io consists of a number of simple, standalone REST services which can be considered as construction Lego bricks. Each one is dedicated to serve a specific need and has its well-defined I/Os to enable seamless communication with other Lego-like wapo.io REST services. The main idea is that REST services can be called one after the other, in a serial execution order, connecting different software Lego bricks together in order to achieve a more complicated functionality. For example, let’s assume that we have the set of REST services shown in Table 1 available:

  • Domain/Area Service Name Service Description
  • Validation OutOfLimitsValidation Checks if the processed data file contains meter values that are out of limits
  • Validation WrongDateFormatValidation Checks if the processed data file contains dates that have a wrong format
  • Validation UndefinedPointValidation Checks if the processed data file contains meter (point) that is not defined
  • Analytics CalculatePerAreaConsumption Calculates the per m2 consumption
  • Analytics ConsumptionThresholdExceededAlert Checks if a consumption threshold has been exceeded
  • Visualization TicketGeneration Generates a new notification (ticket)
  • Visualization ChartGeneration Generates a new chart

The services given in Table 1 can be executed in several ways, depending on the desirable functionality. As a result, one developer can exploit all the available options, creating software that validates incoming data files, runs a set of analytics algorithms and produces a chart that outlines the respective findings. Another developer can make use of less lego-like services and create software that just validates incoming data files. A third developer can only check incoming data for valid date formatting and then create a chart for data visualization.

The options are many and the advantage is obvious! What is hidden behind this idea is S-CASE which enables fast prototyping and development of our main constructive blocks, the RESTful Lego bricks, while also facilitating their orchestration. The service composition becomes an easy job for developers that do not have much experience, like the Lego construction is easy and fun for kids! Using S-CASE has made it quick and easy to create functional services that will enrich the wapo.io directory and offer more opportunities to wapo.io’s customers.

[1] http://jakob.engbloms.se/archives/1806

[2] http://www.ibm.com/developerworks/library/ws-restful/

S-CASE Blog | S-CASE presented at the Smart City Exhibition 2015

In today’s blog we look at how the S-CASE project was presented at the Smart City Exhibition (SCE2015) in Bologna, Italy during a very successful 3 days conference.

In a context where data become the primary source of knowledge and sharing in the inter-connected smart cities of the future, software services are the representation of the elaboration of these data and then are the building blocks of smart cities.

S-CASE can simplify the re-use of software artefacts and services for all the stockholders of the smart cities. For example, Public Administrations and Local Organizations can use the S-CASE platform to discover, in a simple way, Software services and applications already well adopted by other Public Administrations, thus reducing costs and efforts in re-developing, from scratch, already existing solutions.

Furthermore, SMEs can exploit S-CASE to find and integrate available services into their business processes in order to create added value services for their customers.

This is the point of view of Davide Tosi, researcher at University of Insubria and one of the scientist involved in the S-CASE project, which presented S-CASE at SCE2015.

Do you speak Italian? Want to know more about S-CASE at SCE2015?

The video of the whole session can be found below (Davide Tosi’s speech starts at 1h28m and ends at 1h38m)

S-CASE Blog | Re-using Open Source Software

In today’s blog we take a look at how S-CASE helps you find Open Source software to re-use, saving you time and money while letting you get on with coding.

One of the main issues software developers need to face when performing their work is to avoid re-inventing the wheel. Open source results that do just what they need are often out there somewhere. Unfortunately, it is not at all easy to browse through the great number of open source artifacts available and to find exactly what they are looking for.

When we think about a big software company or a large research institute, which probably has offices in different cities if not countries, the issue is sometimes even inside the company/institute itself. So much software is produced and not all development groups know about what has been developed by other groups.

To support the re-use of open source software S-CASE project develops the Open Source Resource Finder (OSRF) building on top of some of the results of the MARKOS and AGORA projects. The Open Source Resource Finder supports developers in discovering features and outputs of internal and external (open source) projects. It will support software development and reduce the developing effort required and increase the re-use of existing software.

How does it work?

The OSRF interfaces appropriate OSS repositories and indexes the discovered resources in the S-CASE Asset Registry. In the Registry the physical active links to each software solution is stored together with metadata regarding each solution. The stored information can then be retrieved through the use of an API which exposes the registered services and solutions to semantic queries performed by the S-CASE users. The Asset Registry provides not only the physical location for all the registered assets, but can also be used for the invocation and direct utilization of each asset.

We will be keeping you up to date on our OSRF as the project progresses, but for now why not take a look at how S-CASE will utilise a model-driven approach.

S-CASE: Infrastructure foundation in the energy management world

Stand-alone energy monitoring systems can identify spikes in energy or general energy waste. But what’s the next step? What caused the spike? How do you reduce consumption?

This is where stand-alone energy monitoring applications always let you down. They can identify problems, but they have no knowledge of what caused the problem, under what circumstances and what this information really means. Moreover, most of Energy Management Software (EMS) solutions provide their functionality following the ASP or SaaS model while only a few offer APIs. Even when APIs are available, they are usually limited or application-specific, requiring a lot of effort to customize and integrate with other applications.

We have identified our biggest competitors and we are in the position to go one step beyond them by introducing the new Watchtower Cloud (WTC). Existing solutions in the energy management market are either based on old-fashioned architectural models (e.g. ASP model) or their offerings are limited to serve only dedicated needs. In order to increase efficiency and intelligence, software engineers have made progress towards the direction of seamless integration with 3rd party applications and platforms during the last years. However, what is still missing is the ability not only to customize such solutions, but to also create new ones according to user’s needs. This is where WTC comes to fill the gap by offering the ability to build custom analytics and combine standalone ready-made software modules in order to compose complex, algorithmic services.

WTC is not another traditional, customer-driven software for energy management. Its innovation is based on the following set of characteristics which also become our success factors:

Built on top of the SaaS model, it simplifies deployment, reduces customer acquisition costs and enables seamless integration with external systems. It exposes its core features, functionalities and ready-made analytics as standalone service modules which can be directly consumed by end-users or 3rd party applications. It offers the ability to compose custom analytics services.
It is hardware-agnostic, meaning that it can be adopted by different hardware providers.
Developed exploiting the S-CASE platform and following its modular logic, it becomes fully scalable. Its functionality can be expanded to support more features and fit even more business needs without the need of major re-engineering.

So, this is why WTC is a powerful platform addressing the needs of both end-users who need easy-to-use and customizable interfaces and developers who need portable and well-defined services to integrate with their applications. And this is how S-CASE will become the infrastructure foundation for making WTC a scalable and interoperable framework in the energy management domain.