I didn’t want to say anything but a few days ago Milano mentioned it in a post in our forum so I guess that gave me the green flag :)
We are now working on the next version of DeKlarit code-named “florida”. We want to add a lot of new stuff but I think one of the most important features will be the Silverlight addin which will let you create web applications with Silverlight controls. We are still in the process of making a few decisions like, will it be a full Silverlight app or will it have aspx pages as containers for the Silverlight controls? We believe the second is the best choice right now since we have two excellent web addins and we can use the navigation logic we already have in those. That means it will be pretty easy for you to migrate your current WebGenerator generated app to a brand new Silverlight app. Cool uh?
Also, we’re thinking on REST support for our WCF addin, WPF for a fully funtional WinGenerator addin independent of third party controls, something you guys’ve been asking for, and full text search in generated applications among others. Also, I have to work on our security features for the generated apps and add a few features like allowing a user to change his password, sending conformation emails and more.
So if you have any suggestions, now is the time. I can’t assure you we’ll implement them all but we’ll surely keep’em under the radar.
Read the full thread of the “announcement” here.
Read Full Post
Summary only...
I know, it took us a while… but it’s finally here.
DeKlarit 4.5.1 has now support for Infragistics NetAdvantage 2008.1 and 2008.2. You can download it from here and read the release notes here.
We’re already working in our next major version, code name “Florida”.
Read Full Post
Summary only...
I was getting tired of VSS, don't ask me why, I just wasn't happy about the different VSS databases. Also, at DeKlarit we're using SVN with TortoiseSVN which has a great integration with Windows Explorer. So I started to look for some free SVN server... I didn't try too hard, cause I just loved the first one I found.
It's called Assembla and it has many cool features. Here's just a list of what you get with a free account:
- Unlimited team size
- Public or Private (invited members only)
- Subversion (this is what I was looking for)
- Trac - development tickets and timeline
- Integrated Ticket tool
- Wiki
- Milestones, Tasks, and Discussions
- Alerts: Real-time email, batch email, or RSS (one of the simplest and coolest features)
- File attachments
- Chat
- "Stand-up" or "Scrum" team member reports
- Image Annotation
- Time tracking and reporting
- Staffing workbench
You get all that with a free 500 MB account, which is pretty decent for just source code and some wiki pages. Right now I'm hosting three projects there and I'm really happy about it.
One feature I particularly "enjoy" is being able of open tickes (like, issues, bugs, improvements) and then close them from tortoise while committing the changes. All you have to do is writing 'fix #2' as as comment to the commit you're doing if that action closes your ticket #2.
Read Full Post
Summary only...
Beautiful day outside to go to the beach, but I'm recovering from the flu, so I stayed in and thought give some of the "new" VB9 (aka VB 2008) features a try. I must say I got into the .net world thru VB.Net but for one of my projects I decided to switch to C# (also to learn it) and never looked back.
But today I found some amazing new features in VB9 and I wanted to share them. Actually one of them is plain LinQ and we covered that before but I want to comment on VB9's integrated support for XML, and probably the best way to explain it is by showing an example... take a look at the following sub
Dim orders As New OrdersCollection
orders.Fill()
Dim elems = From order As Orders In orders Where order.ShipCountry = "Brazil" _
Select <order><id><%= order.OrderID %></id><customer><%= order.CustomersCompanyName %></customer></order>
Dim doc = <?xml version="1.0" encoding="UTF-8"?><orders></orders>
doc.Root.Add(elems)
Console.WriteLine(doc.ToString())
Keep in mind that OrdersCollection is the collection generated by DeKlarit's BusinessObject Addin. Do you have any idea what this writes to the console? well... take a look at it...
First of all, have you ever seen xml displayed like that in the console? not me. And in case you missed it, let me go thru the code. First, I created the collection and filled it. Then I used LinQ to query the orders shipped to Brazil and selected <order> XElements with an id tag and a customer tag, both of them filled with data. Then I created an XDocument just writing the tags, and then just added my previous collection of XElements (elems) to the document and voilá!, to ToString method of the XDocument prints out what you see in the console pic. Ain't that cool or what?!
Others things you can do with your XDocument (doc)
Console.WriteLine(doc...<order>.Count())
Console.WriteLine(doc...<order>(0)...<customer>(0).Value)
The first line writes how many orders are in the xml document, while the second line writes the value of the (first) customer of the the first order.
Read Full Post
Summary only...
...and so is DeKlarit 4.5
We have just released DeKlarit 4.5 for 2005 and 4.5 for 2008.
Both versions share the same functionality, but this is our last version supporting VS2005, so start your migration right away. I know I said before that you should create a blank VS2008 project with DeKlarit and import your existing objects to it. Now all that changed, I mean, you can still do it that way, but now I believe the best way is to just open your existing project with VS2008. You will have to add the addins back again.
Remember different VS versions of DeKlarit can coexist. Which means 4.5 for VS2008 can be installed in the same box where 4.5 for VS2005 or 4.3 is. But to install 4.5 for VS2005 you have to uninstall 4.3
There are some cool new features like a suggest combo in foreign keys in the WebGeneratorInfragistics Addin, full WCF support, extension capabilities for the generated application menu, and many more.
Give it a try!, and let us know what you think.
Read Full Post
Summary only...
I recently showed how to use LinQ to query the BusinessFramework's DataSets. Now using the same model (good old Northwind) I'll show you (in case you haven't figured it out yet) how to query the business objects's collections created by DeKlarit's BusinessObjects Addin.
So let's say you have your orders and you want to get all of them:
OrdersCollection orders = new OrdersCollection();
orders.Fill();
And now you want to "query" around for say orders shipped to Brazil (love the beaches), so you'll have to write your linQ query as follows:
var query = from Orders o in orders
where o.ShipCountry == "Brazil"
select o;
And then just printout whatever you want from the orders:
foreach (var order in query)
Console.WriteLine(string.Format("Shipped on {0} to {1} @ {2},{3}",order.ShippedDate, order.CustomersCompanyName, order.ShipCity,order.ShipCountry ));
Easy uh?
Read Full Post
Summary only...
I recently read an article on Visual Studio Magazine from Roger Jennings where he discussed performance using LinQ to SQL.
One of the key "benefits" of using LinQ to SQL with the Entity Framework is the lazy loading. Lazy loading implies that when you are querying Orders you'll get just the orders and in case you want to go thru the Order lines only then LinQ will execute the query against your DB to get the lines.
There are pros and cons against the "old" schema where you used a DataAdapter with the query to fill a DataSet.
One of the pros I see is that the query to get the orders will probably execute faster since it's only going to one table (or two if you want the customer name), thus you'll get to see the orders header faster. But, what happens when you want to see the order lines? well, you have again, to wait for the db to execute "your" query and send in the results. And what if you want to see the Customer address? again another query to the db which Roger refers as to round trips to the database.
In his article Roger discusses a few tips to tweak those round trips and get the best performance out of LinQ SQL, but there's a table in his article which I'm posting here, where you can see not only the time difference between every method of retrieving data, but also the amount of queries LinQ SQL fires to the database in order to get the data. Also, for comparison purposes, he shows typed DataSets which are the fastest and one with the least amount of queries of all.
(The red rows were painted by Roger himself to show the best approach)
So... what to choose and when? The answer is simple... Get DeKlarit ;)
DeKlarit uses DataAdapters and DataSets so you don't have to write the SQL queries. Also, DeKlarit knows what you want to get in advance, how? because you told him so while defining the Date Providers.
So, as I see it, you have three ways of getting your data:
1) You use LinQ SQL with entity framework for compile time syntax checking and stuff and loose performance
2) Write your own queries to fill datastes taking care of the connection and everything else gaining performance but doing a lot of the hard work yourself, or
3) Get DeKlarit and just focus in the UI which as far as the client goes, that's what makes your app appealing
I thought it was going to be a tech post but it ended up in a marketing kind of way :)
Read Roger's full article here
Read Full Post
Summary only...
This is going to be just a short post about how to use DeKlarit's business framework with LinQ.
For this sample I used the well-known Northwind database. So it's pretty simple: create your DeKlarit model, rebuild the project so the business framework gets created and add a new project to the solution. In my case it's just a simple Console application which it's Main method has the following code:
OrdersDataAdapter adapter = new OrdersDataAdapter();
OrdersDataSet ds = new OrdersDataSet();
adapter.Fill(ds);
var orders = from OrdersDataSet.OrdersRow order in ds.Orders
where order.ShipCountry == "USA"
select order;
foreach (var order in orders)
Console.WriteLine(string.Format("{0}: {1}-{2}",order.CustomerID, order.ShipCity, order.ShipCountry));
Keep in mind that OrdersDataAdapter and OrdersDataSet are the ones from the business framework so you'll need to add a reference to it and add the correct using statement.
And that's it...
Read Full Post
Summary only...
Fernando has just announced the release of DeKlarit 4.5 for Visual Studio 2008. It is a release candidate version but I'd say it's pretty stable so go ahead, download it and start working with it.
Keep in mind that the version Fernando uploaded here is just for VS2008, we will release a DeKlarit 4.5 for VS2005 with the same functionality the one for 2008 has in a few days. DeKlarit 4.5 will probably be the last version for VS2005 we will ship, we'll keep updating the VS2008 version so start planning your migration.
If you have DeKlarit 4.3 or prior on your machine you can install 4.5 for VS2008 without the need to uninstall 4.3. The whole idea is to have your VS2005 with DK 4.3 now (4.5 for VS2005 in a few days) and DK 4.5 for VS2008 in the same box.
To migrate to VS2008 just install DeKlarit 4.5 for VS2008, create a new DeKlarit project and import your components from your model. The import and export process are the same to previous versions so you can export from VS2005 and import in VS2008 and vice versa with no problems.
Read Full Post
Summary only...
No, it's not Santa. I mean Santa is coming but he's not who I'm talking about... I'm talking about DeKlarit 4.5 for Visual Studio 2008. We are in our latest tests so expect it in a couple of weeks.
DeKlarit 4.5 has a few fixed bugs, many improvements our customers asked us for and a fully functional WCF addin letting you choose where to host your services and integrating the DeKlarit Security Database for authentication and authorization.
Here's a little preview :)
Read Full Post
Summary only...
... and so far it's pretty cool. The most exciting thing was finding friends from high school that I have not talked to in 10 years!
It has some pretty good features like entering your Google, Live or Yahoo credentials among others, and it goes thru your contacts and tells you who signed up in facebook, so you can add them as friends right away. It has microblogging, photos, and some other cool apps you can use. It's also a good place to use as a forum, cause you can find people who shares your interests. I joined a .net Framework group and created, of course, the DeKlarit group.
So go ahead and sign up, reach me, and join the DeKlarit group :)
Read Full Post
Summary only...
Just a short notice to let everybody know that the DeKlarit Knowledge Base was brought back to life.
The idea is to have a place where you could find all the fixes of a version. Until now, whenever we fixed a bug o something we posted the fix in our forum in the thread where the bug was found. But now, we'll be updating our knowledge base so people can go there and download every fix for a particular version.
Keep in mind that we will be updating the KB from now on so previous fixes will not be there.
Read Full Post
Summary only...
I know I said WCF is not well documented, and I still believe it but I must say that when I posted about this issue I got a guy from Microsoft (named Richie) who really stuck with me to help me solve the problem. Even though I solved it, I still don't understand why. Now I'll post about it (and the solution) so hopefully I will help somebody with it and maybe some one can explain to me why the generated code with svcutil does not have what I want.
It all started implementing security features in the DeKlarit WCF Addin. When I finally got it working I started testing, and at some point the server did not respond and the client exited with a TimeoutException. I added trace log and message log and noticed that it always felt on the 15th communication.
After going thru the Indigo forum and Googled around I found the problem is due to the amount of concurrent connections opened and the timeout the have by default. What?!. Well, that's exactly what I thought, at least the NetTcpBinding (the one I'm using right now) has a default configuration that works in some limited cases.
How did I solve it? Closing the base channel every time so the connections won't add up. Even though it's been fixed I still don't understand why the generated code by the svcutil does not have those "close" calls.
Somebody? Anybody?
Read Full Post
Summary only...
That's what's been keeping me busy for the last couple of months, Windows Communication Foundation.
Originally started by Andres, the WCF addin is a great tool for quickly implement your own WCF architecture, or if your new to it, is a pretty good way get things working right away and see how it all works.
Basically you will have, as you did in the Remoting or the WSE addin, your own client where you change the data provider from SimpleDataAdapterFactory to WCFDataAdapterFactory and change the DataAdpaters reference in your module project for a reference to the WCFGenerator client dll where all the proxies are hosted. By doing that your app will no longer reach the DataAdapters in order to get to the data, instead it will try to reach some services. But where are these services? At the moment you have only one option, Internet Information Services, but you will have more options in the future. Also, right now only BasicHttpBinding and WSHttpBinding is supported.
So when you run the addin you'll get:
Service Client: the project you have to reference in your client application
Server web application: where the services are hosted
Service Implementation: that's the actual place were the services are implemented, so if you want to host your services in a console application or as a Windows Service the implementation is already done and it will be the same for all three kinds of project.
Service Contracts: that's where all the interfaces used as contracts are.
There's a pre-release version of DeKlarit 4.3 in the forum.
P.S: Windows Presentation Foundation will also be available in future DeKlarit versions, sorry, no 4.3
Read Full Post
Summary only...
You're probably aware that Robert Scoble left Microsoft, also there's a "rumour" that Gates is leaving Microsoft, and now I'm leaving The Soupreme Court of Justice for DeKlarit ( www.deklarit.com). LOL!
This is a big opportunity to me and I'm very excited about it. DeKlarit is a Visual Studio add-in used world wide and it's used to develop .Net applications (win, web, mobile) faster than ever. You take care of your businness rules and let DeKlarit create the tables needed to model your application reality.
I'll start working in a big software company and thats really exciting to me, cause our business is about biulding software.
I'll be bloging about it soon so stick around.
Also, no more spanish, I'm tired of translating and keeping in mind that most of my visitors are english speaking peple and that english is the official interenet languagge there'll be no spanish from now on. Sorry to those who do not understand english... you need to start learning english right away.
Read Full Post
Summary only...