Ridi Ferdiana

Another Technical Fellows Survivor...
See also: Other Geeks@INDC
A Way To Distributed Extreme Programming

Life is soo pragmatic, in our daily life as a software engineer sometime we just closely think in technical aspects. For example do you remember how you are passionate to learn a technical things about the technology, you really like to play the cube in SSAS 2008, you really like to build better XAML, or even you really like to prepare your Azure ready application in your localhost.

Developing software nowadays seem fascinating and easy. Visual Studio as a tools in Engineering layer provide much (and much) quality toolbox, API, and compiler. The problem is when your are thinking out of the box, when you need to build better software with your team. The are plenty problem such as

  • Codes syncronization between peers
  • Dividing the task, workitem, and roles
  • Communication and cognitive problem

Those problems are old problems, every one might be know the answer. let me lists the answer for you

  • A Visual Studio Team system (whoaa…. you are really MSFT geek if you answer this)
  • Software Engineering (hemm….)

In this post i will discuss about the second answer. Well as you know, Software Engineering is consisting three main components. A Process, A Method, and A Tool. Tool? yeah there are a plenty out there starting from my fav like Smart Assembly, JetBrain stuffs, and of course Visual Studio. A method is some guidance that you might expect to build better software in the term engineering like Extreme Programming, Scrum, Rational Unified Process, or even Hajar Bleh method. And last but not least is a process, process is a framework style to build a software like Iterative, Incremental, Waterfall… or you said MSF

image

The picture above is my way to visualize the Software engineering as multi layer component. Take a look the picture the tool is a “tiny” component but in the upper posistion. Process and method is really old in many pragmatic developer they know the xaml but they can’t answer the different between incremental and iterative… and they simply said

“Oh boy.. client wont ask you about that.. even they don’t see your codes.. so let’s we build as fast as possible..as pragmatic as possible, with the best quaility tool”

Let’s think more deeply the above statement in the term.

  • Team environment development (when two heads and more will cause more slash, crash, and pop up idea)
  • Quality, Scalability, and Performance (1000 concurent users, code refactoring for performance, profiling and load testing)
  • Right software for Right People (your client like your software because is effective to tackle their business problem, and efficient in their UX)

Rite? yes …. you have to answer YES…and how to achieve that, simple the answer is software engineering. The additional problem is people in developing country like us don’t have time to maintain CMMI level IV document, we are limited time and effort to draw a huge UML diagram, and furthermore client always need the software right here right now.

Agile process (a combination from Iterative and Incremental process) is the answer for that additional stuff, you can see alot people love Scrum, Sprint, Extreme Programming, etc. Many of them need great communciation skill, cognitive level of preference, and collective ownership of the system. SO what the deal, the deal is simple.

  • Communication and knowledge sharing is the first class in nowaday software engineering. That’s why the VSTS or Team based IDE is birth with Agile template to make your Agile is more streamlined in the term of communciation
  • Simple and quality process is needed for startups and small ISV. That’s why Microsoft still release Microsoft Solutions Framework, that’s why IBM and HP buid their own solution framework.
  • Guidance pattern and method is a must, that’s way a PNP (Microsoft Pattern and Practices) group still exists, Nokia professional community is still breathing.

But we are in the country where the sufficient human skill is still exist, where the software is a “luxiourus” commodity but with limited investment. Many of IT investor / ISV build a community to educate passionate people to fullfill tomorrow meanwhile some of them prefer to build a software in a place where the actual cost is low but the with the sufficient quality people (or you simply said remote development).

Remote development or distributed development is another problem in communication and cognitive level, onsite is different than remote. There are plenty problem about this, and of course when God created the problem they give us brain to think the solution. My proposed solution is called Distributed Extreme Programming. You can read my thought at architect column in Microsoft Architecture Journal Vol 20.

 

Keep passionate..keep learning..

Ciao , Ridi

Share this post: | | | |
Geneva “Single Sign On” | Part Two Geneva Series

Have you ever tried single sign on, if not you might be from Mars… :D (nope just kidding)

Single Sign on (SSO) is a way to authenticate the user with same claim for many systems. If you heard about live id.. you can login into many system started from mail system, blog system, commerce system, or even our beloved geeks comunity site can use the SSO with live id. Thorugh live id user can only remember one user name and password…and he can login into many systems that use same SSO module.

Building SSO module in the past is somewhat chellenging, using CAPICOM and certificate related security..and it’s come with houndred thousand boiler plate code to create such a module. this effort is eliminated in the past by Microsoft through the development of Microsoft Passport SDK and then evoluted into Live Authentication SDK. But why such a technology is not booming, the answer is simple… it’s only from and just for Microsoft platform. forget it if you want use Passport SDK in non MS platform, you will be come into hospital because of thypes and Microsoft don’t even pay for your doctor.

Fortunately Microsoft now build a sophisticated technology which is developed through avalaible standard (SAML, WS-*) for authentication purpose and its called Codename: Geneva. In my previous article i said there are a lot Geneva feature..and one of the cool feature is passive sts model like SSO module. Although Geneva provide a good wrapper API, you might be found difficulties to develop and learn how to create SSO module in Geneva. This blog will give you a simple wlakthrough how to build SSO module with a help of open source starter called starter STS. oke let’s get started.

  • Download the startersts here. StarterSTS is an open source library and web site starter to creating STS implementation through Geneva. StarterSTS have a great ability to use ASP.NET database profile in order to store the user and its profile
  • In optional you can configure and install the Starter STS, by seeing their screencast (see it in aboove link). In order to make it work don’t forget to use SSL for this site (using openSSL for WinXP or SSL self certificate in IIS 7).

image 

  • You can create a user whether using ASP Web Management, or you can add the user through IIS 7 .NET user. Beside user you can add roles like “administrator”, “subscriber”, or “approved user”

image 

  • Another imprortant things is to add the user profiles. this profiles can be adopted as claim in Geneva environment
  • You can also add as many as you want user profiles. This user profiles can be anything that valuable for your relying party (you can read about relying party in my first post)

image

  • After that in the startersts you can add the Claim with the Schema. You can add the claim as many as possible and mapped the claim into the .NET user profile

image

  • In Relying party site (RP Site) in this case is a web that consume the passive STS, you can choose the claim which is used or not used. This can be done easily with Geneva tools that can be installed in Visual Studio 2008 (download the latest sdk) or simply edit the xml config

image

  • And that’s it! whenever you site need an authentication, the RP site will forwarded into the sts site just like the SSO module in Live ID. Furthermore the claim you need to read can be achieved thorugh the code. for example iff your site using npwp as username you can get username by doing this.

image

So that is a preview, sorry no source code since this framework is still in Beta phase, will keep updating you when the time is come.

 

Regards,

Ridi

Share this post: | | | |
Posted: Jun 19 2009, 02:06 PM by ridi | with no comments |
Filed under: ,
Geneva “The Story Begin” | Part One

Do you remember the story about “Card Space”, well if you did then you one of the people who know about how identity metasystem is used in information technology area. Thinking about the Identity metasystem is thinking about how to create digital identity as a claim for something (access/role/resources). The “just enough” implementation of Card Space in cross cutting boundary in architecture (which is security stack) lead Microsoft to improve and integrate the cardsapec technology with another technology like “Single Sign On” (remember Microsoft passport/Live ID), or claim based authentication. This “old new” technology called codename: Geneva

So what is Geneva… simply states Geneva is

image

And What can i do with Geneva…

“thinking when you want to create single sign on with token based feature. For example if you want to create this kind of system. Let me bet, you will need a hundred “iron-plate” code to handle SOAP messaging and validation

image

 well you can read the detail Here ..

Geneva Itself consist of four main component which are

  • Geneva Framework Runtime. It’s a runtime stack consist of GAC Assembly and related API library. (it’s only running in Vista, 2008, 2008 R2, and Windows 7 beacuse contraints of IIS and security)
  • Geneva SDK. It’s a software development kit which help you build Genova feature with Visual Studio 2008 SP1 (note SP1 is needed)
  • Geneva Server. It’s a runtime for the services which is realted in security token service (STS) supports the WS-Trust, WS-Federation, and SAML 2.0 protocols to enable secure single sign-on across organizations, platforms, and applications.
  • Windows CardSpace “Geneva” for helping users navigate access decisions and for developers to build customer authentication experiences for users. (Remember the era DigitalME, and Identity Sleector)

You can download the VPC or the component here

Just Becareful since this is a pre-release software there will be a changes in Assembly (the latest version when i write this is 0.6.1.0) so it’s better don’t put it in “Production System”. I recommend you to use “Geneva Like” authentication system by using WCF like here or this

Enjoy then …

Ridi

Share this post: | | | |
Posted: May 30 2009, 02:54 AM by ridi | with no comments
Filed under: ,
Guidance To Access Local Server (NAT IP Address) Through TS Access Gateway (Public IP Address)

The most used application to access remotely a server is Remote Desktop Connection (RDC). Using RDC you can access seemlessly a resource server through your fingertips. However the RDC can only accessed if you have a server with public IP address. So if you have a local server which doesn’t have public ip address BUT is connected with your internet server (which has IP Address) you have two alternatives.

  1. Install the 3rd party application like Log Me In
  2. Install TS Web Access , and access through it.

IN this post i will show you the second approach. We will access RDC into local server thorugh TS Gateway. In this case i have following situation

  • Client with Windows Vista SP2
  • Local Server is Windows Server 2003 with MOSS
  • Public Server is Windows Server 2008 Standard

Let’s get started.

  • Open Remote Desktop Connection

image 

  • Input you Local IP Address (for example 10.23.1.15)
  • image
  • Click Advanced then select >> Connect From Anywhere >> Settings

image

  • In Connection Settings input “Use This TS Gateway…”, input your TS Access Address, check the Bypass TS Gateway for Local Address

image

  • Confirm all changes, and click connect
  • Please be pattient since it will be slower than RDC to Public Server

image

 

Enjoy work from anywhere to manage your server :)

 

Regards,

Ridi

Share this post: | | | |
Ajax Framework On The Go | Events

I this event i shared about 60 minutes of demo in Ajax technology implementation in .NET and reach more than 60 attandes Through ASP.NET 3.5, I present a key technique of Ajax such as

  1. Ajax “Pure” model using JSON VS Ajax Server Side using System.Web.Extension
  2. Three the most used scenarios in Ajax (Form Validation, Multi Tier Communication, and Responseive USer Interface)
  3. Ajax Futures (the integration between Ajax, Json, ADO.NET Data Services, and also Jquery)
  4. Ajax security (starting from surface attack, xss attack, dos model, etc)
  5. Ajax Best Practices (using Fiddler2 and Internet Explorer 8 Developer toolbar)

Huge thanks for OmahTI who handle this such a good event, and also for anthusiams audiance, you can download the slide deck and demo here…

Slide Deck and Demo (Please note that the demo need you to install AdventureWorks Database, which can be downloaded here

 

Photos

 

meet you soon in another event

Ridi

Share this post: | | | |
Posted: May 09 2009, 02:14 PM by ridi | with no comments
Filed under: , ,
Windows 7 RC and Vista / 2008 SP2 is ready for MSDN/Technet Subscriber

For me this is huge updates. In 30 April Microsoft releases a lot of updated software. Two of the most downloaded since today is Windows 7 RC and SP2 for Vista or 2008.

image

Regardless of who you are, you can also download recently updates from Microsoft Download site for Windows Update user you will feel seemlessly update.

What’s new in SP2 ? Of course “huge bug fix and improvement in existing features” some additional features like the Vista Feature Pack for Wireless for easier/better connections, built-in Blu-Ray writing, and reduced resources required for sidebar gadgets. Nothing majorly huge, so it's worth looking at Windows 7 :)

SP2 installation will eat few hours of your time so be sure to bring your coffe or read a book. During installation I’m also read a good ebook about WCF Security. The installation will eat you about ~1GB so be sure to type in command prompt

>> compcln.exe

after installation. This will remove the older package (same with vsp1cln.exe approach).. so “Fakir storage” like me can feel the Sp2 also

Untitled picture

Windows 7 itself is on RC, so in my oppinions Windows 7 will be RTM in September or November (Retail?) (if we follow the Microsoft lifecycle release in the past my guess is that the Windows 7 will be released in November 2009). Will install the RC by today and will report you soon.

 

Happy Monday

Ridi

Share this post: | | | |
Windows 7 (Pre) Springboard Series Events | UII Yogyakarta

Yesterday we visited Universitas Islam Indonesia (Engineering Faculty), at Yogyakarta… cool atsmosphere around us. With my beloved partner from MUGI (Mr. Erick KUrniawan) and IT Pro Specialist from MIC UGM (Mr. Baskoro), we share about Windows 7 for the first time.. it’s about ~60 attendees.. and three sessions so far.

  1. Windows 7 Demo *Mr. Baskoro from MIC
  2. Internet EXplorer 8 in Windows 7 Demo *Mr Erick from MUGI
  3. 7 Development tips for Nowadays Software *Me :)

In my session i show 7 demos for my 7 development tips… below is my quick demo title

  1. Vaulthealtcare (WPF) and WowIndonesia Demo (SL)
  2. Azure and Silverlight Streaming Demo
  3. Creating the Code that interoperable in Windows Mobile and Windows Form
  4. Collaboration Demo between Blend and Visual Studio
  5. Virtualization and Green Computing Demo
  6. Excel Add-In and Community Server 2008.5 Integration through VSTO
  7. Cardspace and Codename: Geneva Demo

wanna see the content just download at (sorry during the huge demo i don’t put the demo code)

Will do another event at UII … so just wait for the update :) …

24april-eventuii 016 24april-eventuii 015 24april-eventuii 017

Ciao | Ridi

Share this post: | | | |
Road To Enterprise Library | Sessions One H.O.L

In this 13 pages of hand on lab you will learn about how to.

  1. Create WCF Application which is hosted in IIS
  2. Create WPF Application which is consumed WCF Services
  3. Adopting the Data Access Application Block into WCF Application
  4. Adopting Logging Application Block into WCF Application.

This article is in Bahasa :), and of course you can download and learn the content from here enjoy

Regards, Ridi

Share this post: | | | |
Posted: Apr 19 2009, 12:07 AM by ridi | with no comments
Filed under: , ,
When technology become so sweet :)

Recently called by one of my brother... He prepares what i call "so sweet" technology...This remember me when some people in codeplex create Community Kit SharePoint Wedding Edition. He creates a new style of Community Server Technology with combination SilverLight, Deepzoom, and of course "so sweet" content.

Good Luck and Congratz Bro..

Share this post: | | | |
Posted: Mar 18 2009, 08:13 PM by ridi | with 3 comment(s)
Filed under: ,
Improving Mobility in Extreme Programming Methods through Computer Support Cooperative Work (En-us)

One of the most challenging in Extreme Programming is composing all the team member and customer onsite. This problem will become seriously when not all the team member available or the customer can’t give representation person for the development team. This situation will make information imperfectly for both customer and team member. We solve this problem by implementing computer support cooperative work (CSCW) as a tool to improve Extreme Programming method. By joining these two concepts we get 15% productivity improvement as a ratio between projects with CSCW and without CSCW.

wanna know..? click the icon.. its free of course :)

Regards | Ridi

Share this post: | | | |
Revisited SilverLight with RIA Concept

Last week, i spoke about RIA, Rich Internet Application on Silverlight … in MUGI technology update. This events is held by MUGI collaborate with Gigabyte, seem a cool event since they can invite more than 200 attendees..

I started my speech with the background case why we need RIA, what is silverlight, silverlight vs flash in video streaming, deepzoom implementation, wcf integration and silverlight toolkit. Yes a lot demo and less speech :)

You can download my presentation as well as the source code here

Ciao | Ridi Ferdiana

the foto is here

Share this post: | | | |
Posted: Feb 25 2009, 03:44 AM by ridi | with no comments |
Filed under: , ,
Project Management and Extreme Programming Practices

Extreme people… or some people said an Extremos.. is a way to build better application rather than Hajar Bleh solution, it’s come with simplify design model, adequate testing (*hope not to much), as well as better incremental release plan.

This paper will cover some basic experince, and practices when combine the Extreme Programming practices with small development projects..

Download The Article Here

Download Drive

Cheers, Ridi

Share this post: | | | |
Complexity Model in Extreme Programming Method (EN-US)

Whitepaper ini membicarakan tentang berbagai upaya teori untuk melakukan perhitungan suatu model kompleksitas dalam pengembangan konstruksi perangkat lunak. Berbagai pendekatan seperti perhitungan baris LOC, Cocomo II, hingga FPP dikemukakan di sini.

Whitepaper ini men-spesifik-kan perhitungan model kompleksitas pada pendekatan XP (Extreme Programming) berdasar pada riset-riset terdahulu.

Harapannya whitepaper ini bisa membantu rekan-rekan yang hendak mengetahui secara lebih mendetail kompleksitas suatu software melalui salah satu pendekatan Agile tanpa melupakan esensi Engineering. Silahkan unduh paper tersebut di sini

 

Salam Inovasi | Ridi

Share this post: | | | |
MIC Resources | November Events 2008

Hi Guys, MIC Guys did a lot event in November you can download the event resources over here

ASP.NET Introduction workshop | 5 Days

http://micresearch.net/post/Beginning-ASPNET-Workshop7c-Partner-Accelerator-Program.aspx

Agile Analyst Workshop | 4 Days

http://micresearch.net/post/Agile-Analyst-Workshops-7c-Partner-Accelerator-Program.aspx

SharePoint and SilverLight Integration Workshops | 5 Days

http://micresearch.net/post/Sharepoint-and-Silverlight-Events-7c-Partner-Acceleration.aspx

 

Yes just grab the resources and hope you can learn from there

 

Regards | Ridi

Share this post: | | | |
Posted: Dec 03 2008, 03:33 AM by ridi | with no comments
Filed under:
RIA with SilverLight | Events

Hi Guys, Microsoft Innovation Center held an event about Silverlight 2.0 regarding of RIA concept, you can also download all the slide decks, H.O.L guide, code sample, as well as starter kit..

Happy Learning | Ridi

 

Share this post: | | | |
Posted: Nov 09 2008, 01:07 AM by ridi | with 4 comment(s)
Filed under: , ,
More Posts Next page »