Sunday, 28 April 2013

Consuming a Web Service in Saba using .NET

Consuming a Web Service in Saba happens in two steps:

1) Authorization of the consumer via a service exposed by Saba and available at the following address:
This service returns a certificate to use in step 2

2) Invoke the web service exposed by your installation of Saba using the certificate

To make life easier with step 1, Saba distributes a .NET assembly that is a wrapper around that service; this wrapper contains two classes in the Saba.Platform namespace:

  • SabaLogin, that you should use for authentication

  • InfoServiceClient, that you should use for invoking your own service
  •  

A quick example of how to use the above classes in C#:

string username = "admin";
string password = "welcome";

// get an authentication certificate
string certificate = SabaLogin.Authenticate(endpointURL, username, password);

// invoke the "updateUsername" service
Hashtable requestParams = new Hashtable();
requestParams["old_username"] = "JSMITH";
requestParams["new_username"] = "HPOTTER";

XmlDocument response = InfoServiceClient.CallService(
   endpointURL,
   "updateUsername",
   certificate,
   requestParams);

requestParams is a map of parameters to pass to the service (no generics yet, Saba is still on the old-fashioned .NET 1.1 code...)
 
Communication is over SOAP, no REST services in Saba yet.
 
Enjoy!
Vriendelike groete
@stefanotempesta
 

Wednesday, 3 April 2013

Welcome to Saba Guru

Hello World :-)

And welcome to my new blog about Saba Software @sabasoftware

My intention is to share years of experience as a Solutions Architect for Saba, covering functional and technical aspects of a variety of solutions that I have implemented in my years working with and for Saba.

A little more about me, more posts will follow in the next days, weeks, months, years...

First of all, I worked with Saba solutions for nearly 15 years, directly for Saba Software in the UK, and also for international partners.

From my LinkedIn profile:


- Designed Web 2.0 applications based on J2EE and .NET frameworks, ensuring the architected design conforms to standards and best practices of Service Oriented Architecture (SOA) and Software as a Service (SaaS) principles

- Delivered technical leadership in software design, quality assurance and deployment, and developed extensive knowledge and experience of the entire project lifecycle using Agile Scrum methodology

- Delivered implementations of the Saba Enterprise system to Fortune companies in 70+ countries and 15+ languages, by integrating the product with Web Portals, Federated Identity Management systems using SAML, and Content Delivery Networks (Akamai)

- Built a portfolio of resalable service offerings, which contributed to the expansion of the Professional Services up to $1.5M per year of consulting revenue

- Managed, monitored and reviewed all programme economics to include project costs, staffing requirements, resources and risks, including contracts with suppliers to meet key performance indicators and agreed targets

 - Managed teams of business and technical consultants in the EMEA region, the US and India


I'm now preparing a plan of posts for this blog, that I'll share shortly. I'll try to blend a little of functional aspects of the Saba solution (how-tos, but not from a guide perspective, but rather real world cases), with technical tips & tricks learnt after years of battle on the field...

And in commemoration of the multiple locales supported by Saba, I'll end each post with a greeting in a different language!

Saluti,
Saba Guru