Raba - Defend your code RSS 2.0
# Tuesday, March 18, 2008

I've read Avi Wortzel's great post "Host Multiple services in windows service". Avi create his own Windows Service which on start knows to also start other services such as: Simple Windows Service and WCF Service.
At my place one of my developers, Elad (blog-less), wrote a spike for running our own Windows Service which can manage all Wcf Services in a given dll, (we didn't like the usage of IService which cause us to change the Wcf Service and implement a specific methods for windows - while the WCF team works hard to cause the framework to be generic to all hosts) . In Elad's solution we will iterate over the dll's classes which had the [ServiceContractAttribute] above it. And now: while turning on\off the main (windows) Service it will also start\shutdown all existing WCF Services.

Today I dig a little bit the MSDN and the IDE directory and found WcfSvcHost.Exe which also knows to start\stop all Wcf Services in a given DLL.
This one is great, it even had its own UI to manage each service by itself.

running WcfService using WcfSvcHost
                        Here you can see me running Wortzel's WcfService using WcfSvcHost.exe with no code written at all.

I didn't test the whole functionality of this application, but it looks good enough for your basic services and samples, I still believe that on sophisticated scenarios we will still need to use Avi's-like-code.

Tuesday, March 18, 2008 11:18:30 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
.Net 3.5 | WinFX | WCF
# Saturday, November 24, 2007

Great post by Nati Dobkin on Extending the Caching of the Service Operations.
I didn't test it yet, but I like the simplicity in the usage...

Good job, Enjoy the code.

Saturday, November 24, 2007 8:46:06 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] - Trackback
WinFX | WCF
# Wednesday, May 23, 2007

Last week we launch our new products, after three months of intensive develop, we finished and gave our evaluation version to our customers.

Our product based on the ArcGis Server 9.2 of ESRI, based on dotnet Framework and using WCF Capabilities for performing intranet Service Oriented Architecture.
I should admit that this buzz-words works, I am not sure why and I can't tell how simple is to implement it, but every manager\team-leader\programmer that heard it has a stupid smile on his face, "Hhaaaaaaa so we can use it too?" yep, this was our intention, write it once, use it everywhere.

One more thing on my mind, our complicated server architecture include lots of business-geographic logic, but it worth nothing, cause managers cannot estimate the time you spent on writing your inner algorithm.
Here are some example:

  • We published a coordinate transformer service for everyone usage
  • We implement a logic for retrieving\querying maps from our server (imagine a clothing-catalog now transform your thoughts to maps-catalog)
  • We can also export Rasters from our DB to every customer
  • And we have more other server side stuff that we spent a lot of time on it, but the real people to worth it will probably be the other programmers\team-leaders on the near by office.

Lets take a typical manager\customer, try to explain him all this stuff,
It will sound like this:
Me: We implement a great server side logic, every one in our company could use this it will save the other teams days/months/years.
Customer(thinking): he spending my time and money on other teams\projects?!
Customer(saying): what can I see from it right now?
Manager(saying): Yes, show him something, give him to play with this new baby.
Me: Hmm, no. see, now you can't do a thing but in the near future ...
Customer(hearing): bla bla bla... [feeling angry]
Manager(thinking): How do I hired this stupid

This reactions can vary from one to another, but at the end point, customer can only understand things we sees.
Don't try to sell them server side capabilities, and it is a cool feature that everyone can use it, but you should know what every one need and want to get and you should give it to him.

Here are my tips:

  1. Programmers & Team-leaders - we always wanted to do a generic things, cool things and other stuff, so we could smile on our way home, (for example: code WPF on GIS Engines using the DLinq underneath all this while writing coast-to-coast unit test using our new mock object with those cool new TFS features for nightly build&running those tests) - do not give up on those features, it will make you happy after all, but use them wisely.
  2. Customers - they have a business logic to catch, we should understand their needs and give them something to play with, not just Doom/Fifa like to play with , we should listen, ask interact and understand what will make them smile when this product will ship.
  3. Managers - wants their customers happy and they also want something to play with, something to show their managers and other partners\customers to bring more money, listen them too, try to understand what can help them bring more money.
  4. Probably if you will listen carefully you could find a good point at the middle when both the customers & managers would be happy, now start thinking what can help you perform those dreams come through,

How do we did this?
I should admit that we do it unintentionally, but it works just great, We used the new
AGX(350 build), it gives us a great UI almost for free, why I am saying unintentionally? because while sitting with the customers (long time ago) we talked about UI and Google-Earth-like, This tool is a beta but probably the worth beta in the world, why? because the customers want it, because it makes the customer-friends happy and when the smile we can blow his chest up and smile every time he plays with it.
about the managers? they can do this too, their customers happy, the project in time, you also gave a great buzz-word the always like to say.
For my team? you should ask them, but for me, I am happy because they are, we use the best technology in the world and keep doing cool things. so why not.
This simple customer-driven technic (you can also call it Agile :) gave our team a lot of time\space to implement our server side code\architecture for further usage of other teams.

One more tip (including example):
For each module you write\design on the server try to give something cool that every one can see. (think about a customer-driven name for this module)
Think about the SOA-team that is doing the hard work which no one can appreciate. Show the managers something, do it simple, with minimum time, just do it COOL, well-designed. try it to get to their business-logic.
For example:  If they need to travel around the world and you create a great logic of minimal distance (shortest path), implement it on a simple map, you would probably do this for your own experiments so just publish it so every one could see this.

Enjoy, Relax, Freedom.

Wednesday, May 23, 2007 12:31:20 PM (GMT Daylight Time, UTC+01:00)  #    Comments [2] - Trackback
.Net 2.0 | GIS | Life | WinFX
# Saturday, May 27, 2006
After almost 6 hours of downloads, 3 hours of installations, my laptop which is only 1700Mhz (Sonoma), 512MB RAM, holds the latest version of the WinFX beta2. So here are some tips for you guys:
Saturday, May 27, 2006 9:41:42 PM (GMT Daylight Time, UTC+01:00)  #    Comments [2] - Trackback
WinFX | WPF
Archive
<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Shani Raba
Sign In
Statistics
Total Posts: 134
This Year: 1
This Month: 0
This Week: 0
Comments: 97
Cool Stuff
Add to Technorati Favorites
Themes
Pick a theme:
All Content © 2010, Shani Raba
DasBlog theme 'Business' created by Christoph De Baene (delarou)