ASP.NET programming in a corporate environment

Jun 2, 2008
163
0
0
Could someone please give me some pointers or guides on programing in this environment.

I feel a bit overwhelmed with how to approach my project as I haven't ever made a huge application.

Thanks
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
What are the requirements? What kind of applications/functionalities will you be supporting via the Website? Back-end databases? Security? If you can't answer these questions, the earth will shake. LOL.
 
Jun 2, 2008
163
0
0
Haha.

Well it's a ASP.NET 2.0/3.5 (not sure yet) App with Oracle 10g.

The whole point of the app is to create graphs.

The graphs are inputed from excel, numbers are taking from the excel sheet and posted on a screen for verification. The project manager is in charge of this. The numbers deal with real time, projected time, budget, and actual cost.

Once the Project manager verifies. All this info is dumped into a database. This is done on a monthly basis.

Then an executive can see this info via graph.

This is the core of it.

There are a lot of things left out like user roles and all that.

I'm just curious on how huge apps are made. There's gotta be more than just a .aspx page... like global.asax or something else?

Security wise, since we use a Tivoli LDAP, I'm going to use an IBM guide on reading a cookie to get the EMP ID for Single Sign On for our Oracle DB to work with our ASP.NET app. Does that sound like the way to do it?

This is an internship, I'm with another Intern and we're responsible on delivering a pilot app of this that in the next stages will be used in more than just our department.




 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Since this is in a corporate environment, you might want to find out if Tivoli has a plug-in for Active Directory or if it ties directly into Active Directory (I have never heard of it, and am too lazy to research it). If so, ASP.NET has built-in mechanism to authenticate using Active Directory. If you're successful, your entire security will be maintained by the corporate admin - you won't have to deal with creating users, roles, etc. As far as authorization goes (don't confuse with authentication), you can tap into the Active Directory groups to accommodate special privileges. If you haven't researched already, look up ASP.NET's security model... yours is an ideal scenario to exploit it.

The architecture really depends on how big the organization is, and how different departments will "talk" to each other. If it's within a LAN environment, just using Remoting for accessing data [this is assuming you want to make the application multi-tiered]; or even wrap everything simply in a data access layer [this is assuming you want to make the application multi-layered]. If you plan on exchanging information over different applications and interfaces, use Web Services [but keep in mind that Web Services are verbose because of their XML].

When you say "graphs are imported," are you actually going to import the rendered chart itself or just the data?

I would soooo use Integration and Reporting Services for this project. If you're going to buy a SQL Server license, you can also look into using Reporting Services [but then also keep in mind that you don't want to duplicate all your work by using multiple applications - use Reporting Services only if feasible]. We have corporate Websites written in ASP.NET that access a central reporting server which hosts Reporting Services via Reporting Services' Web Service. I have never had to deal with a scenario of importing "graphs," so I am not sure how that would tie into this Reporting Services idea.

Mine are mostly higher level ideas, and not really a design. I am sure others will have their own ideas.
 
Jun 2, 2008
163
0
0
Thanks for the input.

We used the Tivoli LDAP for using the corporate site, all AD is used for is to log onto the Windows machine. I'm going to try to follow through this.
http://www.ibm.com/developerwo.../t-ltpatfim/index.html

We'd totally use SQL but since the DB is maintained by an outside organization, it's has to be Oracle because that's the standard. Maybe we could get MSSQL but then I don't know who would maintain it.

Sorry about the graphs.

When an exec clicks to see a graph for a project, a graph will be rendered on the spot (or cached? no sure yet) as a gif through Microsoft OWC. This graph takes the data from the Oracle database and creates the graph.


 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Originally posted by: TheEarthWillShake
This graph takes the data from the Oracle database and creates the graph.

Perfect for feeding Reporting Services. But, yea, in your case its a lost cause if all you're going to do is spend money on the license and not even use SSRS.
 
Jun 2, 2008
163
0
0
Thanks,

This application is straight forward I believe.

I think we're going to use AJAX for chart updates, so when someone wants to query from Jan 07 to say Jan 08 on a given project, I can then just update the graph instead of reloading the whole page again.

Does that sound like the right idea?

We haven't received VS yet so most of this is speculation and thinking through. I'd just like someone who has experience to give me some pointers who has done this in a corporate setting. I've been scouring the internet looking at how to do things that I have thought of.

 

GilletteCat

Member
Dec 28, 2001
181
0
0
You need to download ODP.Net from Oracle. It stands for Oracle Data connectivity Provider for .Net. Install it on both, your dev box and the web server that host the website. ODP.Net comes with documentation and samples for both VB.Net and C#.

Good luck!
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Originally posted by: GilletteCat
You need to download ODP.Net from Oracle. It stands for Oracle Data connectivity Provider for .Net. Install it on both, your dev box and the web server that host the website. ODP.Net comes with documentation and samples for both VB.Net and C#.

Good luck!

I read on some blog that there were issues with the latest release of ODP.NET when it runs on top of .NET Framework 3.5 and 10g. Oracle advertises the latest release for use with 11g and Framework 3.5. I think in the OP's case he's using 10g. So you might want to check compatibility before you start developing using ODP.NET.

If it's a concession, I have been using LINQ to DataSet in .NET 3.5 for extracting data from a 10g back-end. The system hasn't gone live yet, but one of the things I plan to do (if I get enough time) is to compare the performance of MS's default provider for Oracle and ODP.NET. In the past, ODP.NET outperformed MS's provider, but I didn't use it this time around because of the above mentioned compatibility issue.

EarthWillShake: Don't get carried away because you have heard "AJAX is cool." In my opinion, concentrate more on modularity, re-usability, and functionality - you're probably not going to be dealing with 1000's of Web requests in your corporate environment. The goal should be to deliver the pilot (effectively), not using AJAX. Even more so, since you're dealing with many newer technologies... you can always go back and embed AJAX in your existing pages if you have the time at a later point in time.

Also, if you use Oracle's documentation, be wary of some of the examples... they do a poor job of disposing objects and closing connections (things like connections being closed/disposed outside of the finally block, objects not being disposed properly, etc.). But then, it isn't their job to demonstrate "how to program" (I guess, I am just being comparative... for example, IBM is still an *outsider* but does a great job of compiling examples for things like Websphere).
 

Aberforth

Golden Member
Oct 12, 2006
1,707
1
0
I've worked on many corporate projects, the thing I've learned so far is to never complicate the matters where you have to frequently consult the IT department for assistance. Most corporate users don't care about the user interface or web standards, they only want productivity- they like automated, autofill...something that does everything automatically with a click of a button. Using ajax and such things may enhance the experience but the security with ajax is still under investigation. Recently, a site's sql db was hacked using code injection, so make sure you don't have exposed scripts. Use SSL where necessary, have different user groups for various sections of the site. I am sure membership and role management in asp.net will help you speed up the process. I recommend using SQL server db if you are using .net technologies as their code base is optimized for sql.
 
Jun 2, 2008
163
0
0
Thanks guys, I'll skip AJAX then.

I'm still not sure about ODP.NET vs. Microsoft's driver. But just a FYI, the ODP.NET 11g package requires I think Oracle 8i or higher, the site won't load right now for some reason.

Dhavel, will I still be able to do SQL Stored Procedures and all that stuff as if it was an SQL 2005 server? I had an impression that I'd have to do a lot of hard coding with Oracle but I'm not sure because I can't try anything right now :( It just feels really foreign to me. I'm guessing it will be easier once I get everything.
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Calling an Oracle SPROC is just as simple as calling a SQL Server SPROC - no difference. The only difference is in the underlying objects used: things like OracleConnection (instead of SqlConnection), OracleCommand (instead of SqlCommand), OracleParameter (instead of SqlParameter), and so on. If you want to invest energy and really learn something from this, buy David Sceppa's ADO.NET Core Reference (Microsoft Press) - it has a whole Appendix dedicated to the Oracle .NET provider.
 

Kntx

Platinum Member
Dec 11, 2000
2,270
0
71
I work in IS for a big corporation. Think tens of thousands of employees, billions of dollars so on and so forth. The focus is always on just getting things done. Get it done, don't care how you do it (but do it right) just get it done so you can do the next thing. I hear the culture here is a bit different from other large organizations but that is the general vibe around here.

We generally deploy either web applications or desktop type applications thru citrix. We had a brief love affair with smart clients, but have moved on.

Best advice I have is that simpler is better. Business applications tend to grow and change over time. You are definately going to have to add functionality, change functionality, connect to differnet applications and data sources over the life of the project so prepare for it. Today they want to import something from excel, tomorrow they'll wonder why they can't import from word or access or whatever.

Some technical advice I have is to do as much on the database level as possible/reasonable. A lot of times it is easier to modify a view or a stored proc than to deploy an entire application when a change or fix needs to be made.