September 2005 - Posts

Interesting time to learn new Products & APIs
30 September 05 10:41 PM | norman | 1 comment(s)

Saya selama ini selalu bilang: “Products & APIs itu transient, so, jangan terpaku pada Products & APIs, tetapi coba kejar yg namanya 'Good Software Design' “.

Dan sekarang ini, selain tetap mesti belajar banyak tentang Good Software Design, sekarang adalah waktu yg sangat interesting utk belajar new Products & APIs. .NET 1.1 sudah release like 2 years ago. So, most likely, sudah pada fasih dengan API-nya. Nothing is interesting anymore.

Nah, November nanti, .NET 2.0 akan release. Tentu dengan C# 2.0 & VB 8.0 dan VS 2005. Lalu yg sudah mulai “rame“ dari sekarang ada W*F (WCF/Indigo, WPF/Avalon, WWF), WinFx, WinFs, Vista, Office 12, Longhorn Server, IIS 7.0, IE 7.0, C# 3.0, LINQ, DLinq, XLinq.. the list goes on!

Memang kita jgn sampai terjebak utk tahu segala single detail dari suatu Product & API... but, these are the Products & APIs that will shape the whole new generation of Software... yg may change our “view“ on good design...so, kita mesti belajar. Too much information, overwhleming, flood of info.. but that's Developer's life. Update your knowledge & skill.. OR YOU'RE GONE!

Search for “Good Software Design”.. but don't be a TECHNOLOGY DINOSAUR... :)

Learn! Learn! Learn!

Share this post: | | | |
Beyond VS 2005.... ORCAS!
30 September 05 10:30 PM | norman | with no comments

Yup! Kayaknya sudah banyak yang tahu kalau sesudah VS 2005 (Whidbey) akan muncul Orcas. Next generation dari Visual Studio. Orcas direncanakan untuk Release to Manufacturing pada mid 2007. So, Visual Studio 2007 it is!

Cycle time utk Develop Orcas lebih pendek dari Whidbey. Whidbey butuh 2 tahun lebih, sedangkan Orcas di plan utk di develop dlm 1.5 tahun.

Akan ada apa di Orcas nanti? Well, C# 3.0 & VB.9 tentunya. Lalu ada LINQ dan saudara2nya (DLinq & XLinq). Pointnya, pillars dari Orcas adalah:

  • Catalyze Windows Vista & Office 12 Adoption - so, utk develop aplikasi2 diatas Vista
  • Expand LifeCycle Tools Breadth & Depth... yup, kelanjutan dari Team System, TFS, dan the path to Software Factories
  • Win hearts & minds of all customers
  • Deliver the best fundamentals

Adapun “tenets” dari Orcas adalah:

  • 18 Month Product Cycle
  • Easy Upgrade
  • Engineering Excellence
  • Transparency
Share this post: | | | |
VS 2005 launching is fast approaching!
30 September 05 10:23 PM | norman | with no comments

:)

Update terakhir dari S. Somasegar, Microsoft Vice President  utk Developer Division...

  • Semua sudah tahu, pada PDC lalu, Release Candidate (RC) dari VS 2005 secara official di release.
  • RTM (Release To Manufacturing) adalah October 14 & semuanya masih on track. So... siap-siap... :)
  • Utk Team Foundation Server (TFS), agak delayed, baru RTM pada Q1 2006 nanti

Pada November 7, 2005, VS 2005, SQL Server 2005 & BizTalk 2006 akan di launch secara resmi di San Fransisco, California. And you know what, This will be THE BIGGEST SERVER & TOOLS LAUNCH IN MICROSOFT HISTORY! So, this is BIG!

Selain di San Fransisco, juga akan diadakan sekitar 293 events Microsoft di 241 kota di 91 Negara!

Welcome... VS 2005!

Share this post: | | | |
Booyah! Seattle!
30 September 05 12:00 AM | norman | with no comments

Akhirnya sampai juga di Seattle. Setelah beberapa minggu hang out di California (PDC, etc) akhirnya sampai juga di Seattle utk attend Global MVP Summit. Glad to know that Agus finally made it to come here! Tadi ketemu Agus di Asia Pacific Regional Party di hotel Double Tree di Bellevue. Kayaknya dia masih jetlag gitu.. ha..ha.. kalau saya sih cume 2.5 jam flight dari LA... so it was nothing... :)

Btw, saya stay di Hyatt Regency Hotel di Bellevue. Few minutes dari Microsoft Campus di Redmond. Buat yg belum tahu, Bellevue & Redmond adalah kota kecil di sekitar Seattle, Washington. Speaking of Hotel, Hyatt Regency di Bellevue ini keren. Gak kayak Hilton Universal City kemaren. Hilton Universal City sucks, man! Saya gak bakal stay di sana lagi or I don't know... apa semua Hilton kayak gitu? Anyway... gak baek ngomongin kejelekan orang.. he..he.. point saya.. Hyatt is way much better!!!

Speaking of state juga.. kayaknya saya lebih suka Washington (Seattle, Redmond, Bellevue) di banding California (LA, etc)... lebih nyaman, lebih teratur, etc ... :)

So, for the next few days I'll be playing around at Microsoft Campus here in Redmond. Finally dapat kesempatan lihat markas besar Microsoft. Let's see what I can find here at the Global MVP Summit. I'll keep you updated!

O yeah, going to meet Steve B. tomorrow!

Share this post: | | | |
Windows Transaction Foundation (WTF) & my rambles on things after PDC
18 September 05 07:26 PM | norman | with no comments

WTF? Apa pula ini? kok di PDC gak dibahas? Emang ada? :)

Well, semua udah pada tahu kalau platform/API .NET kedepannya di era Vista & Longhorn Server disebut dgn WinFX. Dan di dalam WinFX akan ada barang2 berikut:

  • Windows Communication Foundation / WCF (was Indigo) - utk build connected system.
  • Windows Presentation Foundation / WPF (was Avalon) - utk build next generation UIs.
  • WinFS - next generation filing system di Windows

Nah, pas PDC ini di announce juga kalau akan ada bagian lain dari WinFX yg disebut:

  • Windows Workflow Foundation / WWF (gak tahu codename-nya) - utk build workflow di Windows.

Is that all? I GUESS NOT! Why?

Pada hari terakhir PDC, Don Box pakai T-Shirt dgn tulisan: “WINDOWS TRANSACTION FOUNDATION“ atau WTF... hal ini belum dibahas di PDC...maybe next PDC or so... akan ada barang baru utk handle Transaction di Windows? Kayaknya iya...  dan yg menarik, kayaknya yg transactional nanti bukan cuma Database.. tp the whole Windows thing.. mulai dari in memory objects, files (termasuk yg WinFS), registry, connected systems, etc... semua bisa Transactional.. semua ACID! Cool, huh?

Melihat gejala spt ini, saya malah jd “ngeri“.. why? Who can compete with Microsoft? I mean... saya gak yakin ada Linux System yg bisa head-to-head dgn Vista, ataupun UNIX yg head-to-head dgn Longhorn Server ... .NET vs Java? It's just so 90s... Dgn gejala ini saya malah expect kalau competitor Microsoft di semua lini utk work on something better!

New generation of systems are coming.. big tidal wave.. and Microsoft is leading! For sure...

And what will I do? Standing on the shoulder of the giant! Microsoft or whoever might be... at this point...I bet on Microsoft! So, you judge me as a Microsoft fan boy? Whatever? I choose what makes my life easier & better. Period. End of Story.

These Windows vs Linux thing, .NET vs Java thing.. they're all so 90s... Ha..ha..ha..

 

Share this post: | | | |
Next destination... Microsoft Global MVP Summit
18 September 05 07:10 PM | norman | 1 comment(s)

PDC baru aja selesai... what's next?

Well, seminggu Technology Drill kayak gitu memang capek! Imagine, technoloy drill tiap hari dari jam 8 pagi sampe jam 11 malem! Barang baru semua lagi! Semalem cuma tidur 4 jam-an gitu. Tapi seru sih. But... you know, too much information! Susah mencerna semua sekaligus, apalagi cobain semua Hands On Lab. Anyway, I got some exposure on my favourite next big things.. LINQ, DLINQ & WCF (Indigo)... :)... so, I won't bother to see “Traditional ORM“ like NHibernate and that kinda stuff anymore ... He..he..he..

Saya belum akan balik ke Indonesia... mau istirahat/liburan dulu di California.. let say for the next 10 days or so...menenangkan pikiran utk prepare buat another week of Technology Drill di Redmond... Microsoft Campus...

Yeah, for the Global MVP Summit... fellow MVPs from all around the world.. SEE YA THERE!

Btw, Agus K & Pak Kodar pd jd berangkat ke Redmond gak? Masak dari Indonesia saya sendirian doang? :)

Share this post: | | | |
.NET Language Integrated Query End-to-End
17 September 05 04:07 PM | norman | with no comments

Gak tahu kenapa, panel di “Art & Practice of Connected Systems” jd agak membosankan... :) So, saya pindah ke panel lain & ternyata lebih okay... “.NET Language Integrated Query End-to-End“... this is the panel for geeks!

This is a great panel at PDC... Anders (Chief Architect C#), Luca (LINQ Program Manager), Paul Vick (Architect VB), etc.. moderated by Don Box!

 

Share this post: | | | |
PDC Last Day
17 September 05 03:21 PM | norman | with no comments

Hari ini adalah hari terakhir PDC.

Saya ikutan Architecture Symposium. Saat ini sdg ada Panel “The Art & Practice of Connected Systems”. Panelis-nya ada Steve S., Architect dari Indigo team , two other guys & Gregor Hohpe... dari Thoughtworks...NOT... he's the Software Architect in Google now... Google? Yes, that Google!

PDC selesai... but I'l still be in California for a while. I'll attend Global MVP Summit at Microsoft Campus in Redmond - Seattle, Washington  on the last week of this September...

On the Summit, I guess I'm gonna meet some of the guys I met here...

Share this post: | | | |
C# Connection
16 September 05 09:37 PM | norman | with no comments

Ladies and gentleman, I have a very special guest tonight...

I'd like to introduce... Anders Hejslberg! :)

http://blogs.netindonesia.net/norman/gallery/image/885.aspx

Share this post: | | | |
DLinq, lagi.... :)
16 September 05 07:44 PM | norman | with no comments

Okay.. DLinq lagi... :)

Pertama, remember, LINQ & DLinq itu beda.

LINQ adalah language feature/language capability/ new keywords di C# 3.0 utk doing QUERY. Query to any kind of collections.

Sedangkan DLinq, adalah Library/API. Ada di bawah namespace System.Data. Dia adalah future dari ADO.NET.

Dulunya, cikal bakal dari DLinq ini adalah Object Space. Dari presentasi Luca Bolognese,  Program Manager dari LINQ Project, kayaknya DLinq ini memang okay! Btw, DLinq ini semacam ORM. Kayak NHibernate, DevExpress XPO, Genome, etc.

But, to some level, I think DLinq is better. Dari segi performance, sudah pasti. Lalu, DLinq juga bisa lazy load, handle concurrency... dan yg seru.. selain pakai autogenerated query ala ORM standar yg ada skrg, DLinq juga bisa pakai Stored Procedures!

DLinq punya approach yg beda dgn NHibernate. DLinq menggunakan Attribute Programming Model, bukan XML configuration. Dulu, ObjectSpace startnya kayak NHibernate, pakai XML config, but later on, MS decide bahwa attribute is better.

Pointnya, akhirnya saya bisa benar2 menerapkan OOD di program saya. Gak perlu pusing dgn mapping ke DB & persistence. Let DLinq does it. Dan yg penting... saya makin senang cos gak perlu maen2 dgn DataSet yg “maksa” bawa paradigma relational ke dunia OO program. DataSet is “TABLES“... bukan “Objects”.

Share this post: | | | |
Best Practices of using Windows Communication Foundation (was Indigo)
16 September 05 02:47 PM | norman | with no comments
Baru aja ngikutin session keren: “Best Practices of Using Windows Communication Foundation”. Materinya okay. I'll keep you posted on this. I don't know, mungkin di Indonesia nanti kita bisa bikin acara dimana kita bisa obrolin WCF ini ... Well, kayaknya saya bakal belajar utk jd lebih geeky di area WCF ini. COOL!
Share this post: | | | |
Longhorn Server ... Keynote Day 3
16 September 05 02:42 PM | norman | with no comments

Bob Muglia, Senior VP utk Windows Server Division di MS membawakan Keynote di hari 3ke  ini. Temanya.. Windows Server.. what else he knows? :) Terutama Longhorn Server. Vista? BUKAN! Vista itu versi Longorn utk PC/Client, penerus XP. Longhorn Server adalah utk Server, penerus Windows 2003.

Yg bisa saya highlight:

  • Windows 2003 R2 - yup Windows 2003 akan rilis R2-nya
  • Compute Cluster Solution, WinFX, Monad - Windows Server akan sgt capable utk doing engineering/scientific ataupun high computing system lainnya melalui Compute Cluster Solution. WinFX? Well, off course! Longhorn Server's API is WinFX. Satu lagi yg baru... Monad... Monda adalah object-based command line language, suatu scripting language on top of .NET Framework, dia akan Integrate command line, COM & .NET.. artinya, script utk server nantinya pakai Monad. Teman saya di Intimedia yg namanya Ka Hoat saya jamin pasti penasaran sama barang yg satu ini! :) Ya, gak, Ka Hoat?
  • Longhorn Server... tahun 2007 nanti akan rilis

Tentang windows 2003 R2, apa yg spesial?

  • Well, tahun ini kan .NET 2.0 rilis, so, .NET runtime yg baru ini juga hrs ada di Windows Server, maka itu, di R2 ini .NET 2.0 yg akan “ditanam“, bukan lg .NET 1.1 spt skrg.
  • Services for UNIX - yup, disitu ada UNIX app subsystem, dimana UNIX based code akan bisa running diatas Windows, ada juga UNIX utilities
  • DB Connectivity

O yeah, dibahas juga tentang IIS 7.0. Gile! Canggih! Too much info, saya belum bisa share skrg.. ntar kalau udah ada slidesnya. :) Yg menurut saya keren adalah di IIS 7.0, Form Authentication tdk hanya dpt diberlakukan pada ASP.NET apps. HTML, ASP Classic even PHP akan bisa di set utk pakai Form Authentication ASP.NET.

Cool, huh?

Share this post: | | | |
C# 3.0 Design Goals
15 September 05 06:53 PM | norman | with no comments

Beberapa minggu lalu saya terima spec C# 3.0 dari MS but belum bisa di publish until di publish di PDC. Sore ini, baru aja Anders deliver session tentang C# 3.0. So... I can start to blog it out...

Mulai dari mana ya...

Hmm, okay.. Design Goals...

Design Goals C# 3.0 adalah:

  • Integrate Objects, Relational Data & XML Data - makanya ada LINQ, dgn LINQ kita punya satu unified programming model utk query any kind of data (see my earlier blogs on it)
  • Build on foundation laid on C# 1.1 & C# 2.0 - penambahan2 fitur C# 3.0 merupakan pengembagan natural dari C# sebelumnya (yeah, right.. C# 2.0 yg juga belum rilis!! He..he..)
  • Run on the .NET 2.0 CLR - No changes on CLR utk support C# 3.0. Kalau dari .NET 1.1 ke .NET 2.0, banyak fitur language C# yg juga requires penambahan di CLR. Case-nya tdk demikian utk C# 3.0. Di C# 3.0,  bisa running diatas CLR 2.0
  • Don't tie the language to specific API - sejalan dgn 'kepercayaan' saya :), Products & APIs itu transient. Maka, design language C# tdk boleh depend ke APIs (WinFX, or whatever Library). Why? Language itu umurnya lebih panjang dari APIs. This explains why LINQ is part of the language (keywords), bukan Library. Implikasinya, 3rd party .NET languages juga bisa implement LINQ, karena tdk depend ke API
  • Remain 100% backward compatible - sudah jelas

So, what are the new stuff? I'll keep you updated... anyway, yg C# 2.0 aja baru keluar November nanti... So, fokus kesitu dulu-lah... PDC memang about next generation... but, insights-nya perlu dari skrg supaya kita tdk make design decision yg salah sekarang... kita perlu paham roadmap & where are we going...

Btw, buat yg belum move ke .NET (alias masih di VB6, ASP, etc), why wait? .NET is the way!

Share this post: | | | |
Keynote Day 2 - Windows Workflow Foundation
15 September 05 06:42 PM | norman | 2 comment(s)

WWF! Barang baru lagi yg baru di announce Microsoft hari ini.

Eric Rudder dari MS pagi td announce Windows Workflow Foundation, an addition to the WinFx SDK designed to allow any application to add workflow functionality. Selain Workflow engine, juga ada graphical designer (jd drag & drop dari toolbox gitulah) utk bikin Workflow. Kemarin saya sempat coba hands on lab-nya. WWF ini ada dibawah namespace baru; System.Workflow.

So, nanti gak susah lagi bikin configurable workflow... NICE! :)

Selain WWF, di announce juga product yg lebih utk Designer UI (Artist.. bukan Dev) :). Namanya "Microsoft Expression". Terdiri dari 3 macam:

  • Acrylic Graphic Designer
  • Sparkle Interactive Designer
  • Quartz Web Designer

Jadi, designer (artist ya, bukan Dev) nanti punya tools tersendiri (dari demonya sih sgt powerful tuk bikin UI). Hasil dari tools ini bisa diintegrate ke Visual Studio, so Dev bisa bikin coding-nya based on UI dai hasil tools2 ini.

Selain itu, ada lagi VSTA (Visual Studio Tools for Application). Jadi, di aplikasi2 lain (spt AutoCAD, etc) kita bisa menambahkan add-in berupa managed code. Keren!

 

 

Share this post: | | | |
Once again... LINQ (Language INtegrated Query)
15 September 05 05:08 PM | norman | 1 comment(s)

Yup! Barang yg namanya LINQ ini keren! (Okay, I still have concern on DLINQ)...

But... LINQ is more than just what we know as ORM today. ORM is just a SUBSET of it!

Baru aja ikut session Anders Hejlsberg tentang LINQ.

LINQ adds query capabilities to the CLR and languages that target it. The query facility builds on lambda expressions and expression trees to allow predicates, projections, and key extraction expressions to be used as opaque executable code or as transparent in-memory data suitable for downstream processing or translation. The standard query operators defined by the LINQ project work over any IEnumerable<T>-based information source, and are integrated with ADO.NET (DLinq) and System.Xml (XLinq) to allow relational and XML data to gain the benefits of language integrated query. Selain itu, query juga bisa dilakukan pada Typed Object. So, Query to anything. Dlinq is the one that is mapped to ORM. LINQ is BIGGER. :)

Karena yg 'rame' di community kita cuma yg 'ORM', here's some sample of DLinq code (saya pakai public field, bukan property... buru-buru sih ... but please focus on DLinq) :

[Table(Name="Customers")]
public class Customer
{
      public string CustomerID;

      public string City;
}

 

[Table(Name="Customers")]
public class Customer
{
      [Column(Id=true)]
      public string CustomerID;

                        [Column]
                        public string City;
            }

with DLinq, you can do this:

DataContext db = new    DataContext("c:\\northwind\\northwnd.mdf");

// Get a typed table to run queries
Table<Customer> Customers = db.GetTable<Customer>();

// Query for customers from London
var q =
      from c in Customers
      where c.City == "London"
      select c;

            foreach (var cust in q)
                       Console.WriteLine("id = {0}, City = {1}", cust.CustomerID, cust.City);

Sesuai fungsinya, ORM, mesti juga bisa persist ke Database... so, setelah kita bermain2 dgn state object yg kita punya, kita bisa persist object tsn ke Database cukup dgn:

// Ask the DataContext to save all the changes
db.SubmitChanges();

Cool, hah?

O ya, DLinq ini support Lazy Load, Concurrency (Optimistic dgn Field Checking & Time Stamp), bisa autogenerated query bisa Stored Procedures, asscociation/relationship & kedepannya inheritance. DLinq yg bagian dari project LINQ ini adalah bagian dari future ADO.NET... so, it all will be better OO... (NOT THAT UGLY DATASET AGAIN!!!)

But, saya punya concern dgn cara DLinq yaitu kita hrs memberi Tag [Table] ke nama class & [Column] ke member class. Ini berakibat semakin buruk saat kita define asscociation antar object. Code-nya jd gak elegan. Lalu, kayaknya bikin object & DB jd tightcoupled. Here's some example:

[Table(Name="Customers")]
public class Customer
{
      [Column(Id=true)]
      public string CustomerID;
      ...

      private EntitySet<Order> _Orders;

      [Association(Storage="_Orders", OtherKey="CustomerID")]
      public EntitySet<Order> Orders {
            get { return this._Orders; }
            set { this._Orders.Assign(value); }
      }
}

 

[Table(Name="Orders")]
public class Order
{
      [Column(Id=true)]
      public int OrderID;

      [Column]
      public string CustomerID;

      private EntityRef<Customer> _Customer;   

      [Association(Storage="_Customer", ThisKey="CustomerID")]
      public Customer Customer {
            get { return this._Customer.Entity; }
            set { this._Customer.Entity = value; }
      }
}

Di class Order, dia sudah punya member berupa Customer.. but kita tetap require utk put CustomerID sbg member! Gak elegant! ORM dari DevExpress yg skrg saya pakai (XPO) bisa lebih elegant dlm hal ini.

I'll keep you guys posted!

 

Share this post: | | | |
More Posts Next page »

This Blog

About Me

Syndication