نمایش نتایج 1 تا 4 از 4

نام تاپیک: شیوه صحیح پیاده سازی برنامه بر اساس معماری سرویس گرا

  1. #1

    Smile شیوه صحیح پیاده سازی برنامه بر اساس معماری سرویس گرا

    سلام دوستان
    من توی زمینه برنامه نویسی تحت وب تقریبا می شه گفت تازه کارم و تقریبا تمام نرم افزار هایی که نوشتم تحت ویندوز بوده الان یه پروژه گیرم امده که قراره تحت وب و بر اساس معماری سرویس گرا پیاده بشه از دوستانی که توی زمینه معماری سرویس گرا تجربه دارن می خوام که یه نگاه به شیوه پیاده سازی من بکنن و اگه این شیوه غلط هست راهنماییم کنن :

    من برای انجام تمامی عملیات های روتن مثل جستجو ، درج ، ویرایش و حذف از Store Procdure استفاده می کنم .

    روش کار :
    دو پروژه می سازم یکی WebApplication و WebService :
    در WebService :
    به ازای هر بخش در برنامه یک کلاس ایجاد و توابع مربوط به آن بخش را در کلاس قرار می دم . مثلا اگر برنامه دو بخش مدیریت مشتریان و مدیریت کالا داشته باشه به ازای هر کدام یک کلاس ایجاد می شه .
    در هر کلاس با توجه به نوع کار (درج ، ویرایش ، حذف ) تعدادی کد نوشته می شه :


    private SqlCommand cmd;
    private SqlConnection con;
    private SqlDataAdapter da;
    private DataTable dt;
    public string DoCommand(string sp, int num1, float num2, int num3,int num4,int num5 ,int num6, string server, string user, string pass, string bank)
    {
    try
    {
    con = new SqlConnection();
    con.ConnectionString = "Data Source=" + server + ";initial catalog=" + bank + " ;User ID =" + user + " ;Password=" + pass + ";";
    con.Open();
    if (sp == "MWasinst")
    {
    da = new SqlDataAdapter(sp, con);
    dt = new DataTable();
    da.SelectCommand.CommandType = CommandType.StoredProcedure;
    da.SelectCommand.Parameters.Add("@name_furn", num1);
    da.SelectCommand.Parameters.Add("@lit_ManagementWa ste", num2);
    da.SelectCommand.Parameters.Add("@waste_Management Waste", num3);
    da.SelectCommand.Parameters.Add("@year_ManagementW aste", num4);
    da.SelectCommand.Parameters.Add("@mount_Management Waste", num5);
    da.SelectCommand.Parameters.Add("@day_ManagementWa ste", num6);

    da.Fill(dt);
    }
    if (sp == "MWasUp")
    {
    da = new SqlDataAdapter(sp, con);
    dt = new DataTable();
    da.SelectCommand.CommandType = CommandType.StoredProcedure;
    da.SelectCommand.Parameters.Add("@id", num1);
    da.SelectCommand.Parameters.Add("@lit_ManagementWa ste", num2);
    da.SelectCommand.Parameters.Add("@waste_Management Waste", num3);
    da.SelectCommand.Parameters.Add("@year_ManagementW aste", num4);
    da.SelectCommand.Parameters.Add("@mount_Management Waste", num5);
    da.SelectCommand.Parameters.Add("@day_ManagementWa ste", num6);

    da.Fill(dt);
    }
    if (sp == "MWasDl")
    {
    da = new SqlDataAdapter(sp, con);
    dt = new DataTable();
    da.SelectCommand.CommandType = CommandType.StoredProcedure;
    da.SelectCommand.Parameters.Add("@iddata", num1);

    da.Fill(dt);
    }
    con.Close();
    return "ok";
    }
    catch
    {
    return "error";
    }


    }



    و برای عملیات های کلی (جستجو ) که در همه فرم ها مشترک هست یک کلاس ایجاد می شه :


    [WebMethod]

    public DataTable SelectAllData(string sp, string server, string user, string pass, string bank)
    {
    DataTable dt = new DataTable("MyDb");

    try
    {
    con = new SqlConnection();
    con.ConnectionString = "Data Source=" + server + ";initial catalog=" + bank + " ;User ID =" + user + " ;Password=" + pass + ";";
    con.Open();
    da = new SqlDataAdapter(sp, con);
    da.SelectCommand.CommandType = CommandType.StoredProcedure;
    da.Fill(dt);
    con.Close();
    return dt;
    }
    catch
    {
    dt = new DataTable();

    return dt;
    }
    }


    و در نهایت در WebApplication سرویس رو به پروژه اضافه می کنم و از توابع در هر بخش استفاده می کنم .

    سوالات :

    1-آیا شیوه پیاده سازی من براساس معماری سرویس گرا درسته ؟ فقط کافی هست که یه سرویس مثل توضیحات بالا بسازم و استفاده کنم ؟

    2- با توجه به اینکه دارم از Store Procedure استفاده می کنم اگه کاربر رو قبل از هر درخواست احراز هویت کنم برای امنیت کفایت می کنه یا اینکه تمامی داده های ارسالی از WebApplication به WebService مانند نام Store Procedure باید رمز شوند و در WebService رمز گشایی شوند ؟

    باتشکر

  2. #2
    کاربر دائمی آواتار fakhravari
    تاریخ عضویت
    دی 1388
    محل زندگی
    بوشهر
    سن
    34
    پست
    8,021

    نقل قول: شیوه صحیح پیاده سازی برنامه بر اساس معماری سرویس گرا

    بايد خروجي ديتاست داشته باشيد.
    انكريپت كردن بسته به كارت داره.

  3. #3

    نقل قول: شیوه صحیح پیاده سازی برنامه بر اساس معماری سرویس گرا

    سلام
    اگه به جای دیتا تیبل از دیتا ست استفاده بشه این روشی که پیاده کردم درسته ؟

    یه سوال دیگه هم اینکه چرا دیتاست آخه دیتا تیبل برای برگردوندن نتیجه مثلا جستجو کافیه ؟

  4. #4
    کاربر تازه وارد آواتار ret_ie
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    کرج
    پست
    46

    نقل قول: شیوه صحیح پیاده سازی برنامه بر اساس معماری سرویس گرا

    آقا منم مثل خودت تجربه عمدم تو ویندوز اپلیکیشنه و تو وب تازه کارم. اما واسه این چیزی که گفتی چه نیازیه وب سرویس بسازی؟
    خوب هر کجا خواستی متد SelectAllData رو فرخوانی کن دیگه. اینکه تو چند فرم مشترکا از این متد استفاده میکنی دلیل نمیشه که بری سراغ وب سرویس. وب سرویس وقتی مناسبه که از چندین وب اپلیکیشن بخوای به یه متد دسترسی داشته باشی. اونم فقط بصورت Black Box. نه اینکه از چند فرم تو یک وب اپلیکیشن بخوای یه متد رو که خودت نوشتی صدا بزنی.
    نمی دونم واضح گفتم یا نه، به نظرم میتونی راحت تر پیش بری.

تاپیک های مشابه

  1. سوال: شیوه صحیح پیاده سازی برنامه بر اساس معماری سرویس گرا
    نوشته شده توسط saied7468 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 31 خرداد 1392, 22:16 عصر
  2. سوال: پیاده سازی برنامه جیستجوی دودویی
    نوشته شده توسط hashemi85sep در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: چهارشنبه 19 خرداد 1389, 15:48 عصر
  3. الگوریتم پیاده سازی برنامه درسی
    نوشته شده توسط حمیدرضاصادقیان در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 10
    آخرین پست: سه شنبه 17 شهریور 1388, 13:05 عصر
  4. سوال: پیاده سازی برنامه بازی با threading
    نوشته شده توسط bahar123 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: جمعه 26 تیر 1388, 23:25 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •